接口中的默认方法
接口中默认方法的“类优先”原则:
若一个接口中定义了一个默认方法,而另外一个父类或接口中又定义了一个同名的方法时:
-
选择父类的方法。如果一个父类提供了具体的实现,那么接口中具有相同名称和参数的默认方法会被忽略。
-
接口冲突。如果一个父接口提供了了一个默认方法,而另一个接口也提供了一个具有相同名称和参数列表的方法(不管方法是否是默认方法),那么必须覆盖该方法来解决冲突。
public interface MyInterface { default String getName(){ return "呵呵呵"; } public static void show(){ System.out.println("接口中的静态方法"); } }
public class SubClass /*extends MyClass*/ implements MyFun, MyInterface{
@Override
public String getName() {
return MyInterface.super.getName();
}
}
本文深入探讨了Java接口中默认方法的使用原则,包括当父类与接口存在同名方法时的选择规则,以及如何解决接口间方法冲突的问题。通过具体代码示例,详细解释了在实现多个接口时如何正确调用特定接口的默认方法。
1252

被折叠的 条评论
为什么被折叠?



