接口中的默认方法
接口中默认方法的“类优先”原则:
若一个接口中定义了一个默认方法,而另外一个父类或接口中又定义了一个同名的方法时:
-
选择父类的方法。如果一个父类提供了具体的实现,那么接口中具有相同名称和参数的默认方法会被忽略。
-
接口冲突。如果一个父接口提供了了一个默认方法,而另一个接口也提供了一个具有相同名称和参数列表的方法(不管方法是否是默认方法),那么必须覆盖该方法来解决冲突。
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();
}
}