Java接口(interface)查询

标签 java inheritance interface

如果我们执行以下代码,输出为 10。


interface X{
 int abc = 0;
}
interface XX extends X{
 int abc = 10;
}
class XTest implements XX
{
 public static void main(String[] args) 
 {
  System.out.println("Hello World! --> " +abc);
 }
}

但是根据 Java,接口(interface)变量是 public static final。但我如何获得 10 作为输出?

最佳答案

这段代码可以正常工作。

您的 XTest 类实现了 XX,因此它从该接口(interface)中的 public static final 实例获取 abc 的值。

XX 隐藏 X,因此它取代了 X 的 abc 值。

关于Java接口(interface)查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3488826/

相关文章:

java - 如何替换长链的if

java - Process.destroy() 不会杀死 Process 的子进程

c++ - 您能否强制从抽象基类继承的类仅具有在基例中定义的公共(public)方法?

c# - 接口(interface)、抽象或只是虚拟方法?

java - Primefaces tabView activeIndex 属性总是为空

java - 仅渲染与主圆相交的圆的段/区域

java - 父类(super class)中的实例变量有什么用,以及如何在子类中更改它们的值

matlab - 如何取消父类(super class)对默认 Matlab 函数的覆盖

python - 用什么来替换 python 中的接口(interface)/协议(protocol)

java - 在 Java 接口(interface)中声明参数子类型,在 Java 实现方法中使用子类型