gpt4 book ai didi

java - 返回子类

转载 作者:行者123 更新时间:2023-11-30 08:20:15 24 4
gpt4 key购买 nike

我的问题很简单,但我不知道如何实现我想要的。

我想实现一种方法,根据给定的参数,返回一个或另一个子类(我知道我可以在某些类中使用这种行为以使开发更加面向对象,但我仍在学习) .

所以我想到了这个方案,但是编译不通过。

public abstract class A(){
//some code
}

public class B extends A(){
//some code
}

public class c extends A(){
//some code
}

public static void main(String[] args) {
System.out.println("input: ");
Scanner console = new Scanner(System.in);
String input=console.nextLine();
A myObject = getObject(input);

}

public static <? extends A> getObject(String input){
if(input.indexOf("b") != -1){
return new B();
}
if(input.indexOf("c") != -1){
return new C();
}
return null;
}

最佳答案

首先,您需要从类定义中删除方括号 (()):

public abstract class A {
//some code
}

public class B extends A {
//some code
}

public class C extends A {
//some code
}

其次,getObject 应该只返回 A:

public static A getObject(String input){
if(input.indexOf("b") != -1){
return new B();
}
if(input.indexOf("c") != -1){
return new C();
}
return null;
}

关于java - 返回子类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26196444/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com