Java 重写冲突 - 相同的名称但不同的返回类型

标签 java conflict name-collision

我尝试创建一个扩展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/

相关文章:

c# - 包使用根命名空间,它是我的主要类名之一

c++ - C++ 库命名空间和 C linux 函数之间的名称冲突

java - android 在 vi​​ewholder 中设置了 widget 的大小,但是内容不显示?

java - 如何检查 JDialog 状态

javascript - jQueryUI 和 SlidesJS 冲突

javascript - 您如何检测和识别 Javascript/jQuery 冲突?

java - 如何解决Jboss库和webapps库之间的冲突

c# - 用户定义的类名与内置类名冲突 - C#

java - 如何为任何类型的可比较对象实现compareTo

java - 在 UBUNTU 中添加 JAR 类路径