我尝试创建一个扩展File类(java.io.File
)并实现TreeNode的类> 界面如下:
public class mTreeNode extends File implements TreeNode{}
并尝试实现TreeNode方法,但发生了冲突。
File 类上的public String getParent(){}
与 TreeNode 上的 public TreeNode getParent()
冲突> 返回类型的接口(interface)。
我们该如何解决这个问题? (例如为什么不能使用 Object 类作为返回类型!)
最后我决定在我的类上使用文件对象。
最佳答案
由于 TreeNode
是一个接口(interface),因此您需要使用其精确签名来实现该方法。它是实现它的类与外部世界之间的契约,由编译器强制执行。
您可以阅读更多相关信息 here.
关于Java 重写冲突 - 相同的名称但不同的返回类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11597760/