在 Java 中,一个类只能扩展一个父类,但可以实现多个接口。随着在 Java 8 接口中引入默认方法,一个类可能会通过实现具有相同默认方法的 2 个接口来继承多个具有相同签名的方法 这可能会像 C++ 中一样产生菱形问题
下面代码中的示例输出
new C().hello(); is
这是第二个
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();
}
}
Java用来解决钻石问题的解决规则是什么?一个简单的答案,比如谁优先,什么时候会很棒。