Ank*_*ngh 3 java oop diamond-problem java-8 default-method
在 Java 中,一个类只能扩展一个父类,但可以实现多个接口。随着 Java 8 接口中默认方法的引入,通过实现具有相同默认方法的 2 个接口,一个类有可能继承多个具有相同签名的方法 这可能会产生像 C++ 中的菱形问题
在下面的代码示例中的输出
new C().hello(); is
Run Code Online (Sandbox Code Playgroud)
这是第二
public interface First {
default void hello(){
System.out.println("This is First");
}
}
public interface Second extends First {
default void hello(){
System.out.println("This is Second");
}
}
public class MyClass implements First,Second {
public static void main(String[] args) {
new MyClass().hello();
}
}
Run Code Online (Sandbox Code Playgroud)
Java用来解决钻石问题的解析规则是什么?一个简单的答案,比如谁优先,什么时候会很好。
小智 5
以下是当一个类从多个地方(另一个类或接口)继承具有相同签名的方法时要遵循的规则:
| 归档时间: |
|
| 查看次数: |
1017 次 |
| 最近记录: |