gpt4 book ai didi

Java - 将类扩展为接口(interface)/抽象方法的返回类型

转载 作者:搜寻专家 更新时间:2023-11-01 03:00:24 25 4
gpt4 key购买 nike

我试图找到一种方法来创建接口(interface)/抽象方法,并将声明/扩展类作为返回类型。 (例如,classA 扩展了 interfaceA,并且该方法应该返回一个 ClassA 对象)。

现在我发现一些帖子说编译器不会提示类似的事情,但是 JVM 无法处理这样的事情,这意味着 java 中不存在这种机制。

所以我想到了以下想法,从中我不知道它在技术上是否足够节省。 (比如会不会造成循环)

public interface ISomeInterface<T extends ISomeInterface<T>> {
public T get();
}

意思是你可以这样使用它。虽然这不会强制外部用户使用扩展类,但如果愿意,它至少提供了这样做的机会:

public class ExtendingClass implements ISomeInterface<ExtendingClass>{
@Override
public ExtendingClass get(){}
}

现在这不会给出编译器或运行时错误,但我担心如果广泛使用这会不会产生任何问题。

如果有人可以确认这会或不会导致问题,我将不胜感激。 (也欢迎任何其他反馈)。

最佳答案

这没有错。这实际上是一种相当普遍的做法。

关于Java - 将类扩展为接口(interface)/抽象方法的返回类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36377826/

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