gpt4 book ai didi

Java:如何在接口(interface)层次结构中返回声明的类型?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:21:53 25 4
gpt4 key购买 nike

我的界面层次结构类似于 -

interface Type
{
Type copy();
};

interface SubType extends Type
{
};

interface SubSubType extends SubType
{
};

还有一个具体类

public class Concrete implements SubSubType
{
@Override public Concrete copy() { return new Concrete(); }
}

我希望能够在 Type 上调用 copy() 并取回 Type,在 SubType 上调用 copy() 并取回 SubType,等等。这可以实现吗?可能与泛型有关?

提前致谢。

最佳答案

像这样:

public interface Type { 
public Type copy();
}

public interface SubType extends Type {
public SubType copy();
}

public class Concrete implements Type {
@Override
public Concrete copy() {
return new Concrete();
}
}

public class SubConcrete implements SubType {
@Override
public SubConcrete copy() {
return new SubConcrete();
}
}

public static void main(String[] args) {
Type type = new Concrete();
SubType subType = new SubConcrete();

Type newType = type.copy();
SubType newSubType = subType.copy();
}

关于Java:如何在接口(interface)层次结构中返回声明的类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11255270/

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