gpt4 book ai didi

java - 父类(super class)静态方法返回 2 个不同的子类

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:51:18 24 4
gpt4 key购买 nike

这是糟糕的编程习惯,但我被要求将其作为更大任务的一部分。

我正在创建一个父类(super class),然后是 2 个子类。父类(super class)中有一个静态方法应该根据结果返回 2 个子类中的任何一个。我将如何编写此方法?

例如我需要做这样的事情

public abstract class Superclass{
public static subclass? createFromFilename(String fileName){
if(1==1)
return subclass1;
else
return subclass2;
}
}

这可能吗?

最佳答案

我不确定这是否是您要查找的内容,但如果您想返回 class type ,您可以通过编写子类名称并附加 .class 来获取类类型。正确的返回类型应该是带有 genericClass 类型将结果限制为父类(super class)及其子类。

public static Class<? extends Superclass> createFromFileName(String fileName) {
if (fileName.equals("A")) {
return SubclassA.class;
} else {
return SubclassB.class;
}
}

但是,如果您想返回相应类的对象,只需返回一个新实例并将返回类型设置为 Superclass 即可:

public static Superclass createFromFileName(String fileName) {
if (fileName.equals("A")) {
new SubclassA();
} else {
new SubclassB();
}
}

关于java - 父类(super class)静态方法返回 2 个不同的子类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14549980/

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