接口中的默认方法与静态方法
默认方法
-
在接口中可以使用default修饰方法,为方法提供默认实现
-
public interface MyInterface { default void getName() { System.out.println("DEFAULT"); } }
-
-
一般情况下,继承了接口的子类,可以不提供接口的实现
-
类优先原则
-
如果子类继承的父类中,提供了与接口中的默认方法具有相同名称和参数的方法
-
那么接口中的默认方法会被忽略
-
-
接口冲突
-
如果两个父接口,提供了具有相同名称和参数列表的方法
-
不管是不是默认方法
-
子类都需要覆盖该方法来解决冲突
-
静态方法
-
在接口中可以写静态方法
-
public interface MyInterface { public static void show() { System.out.println("STATIC"); } }
-