jdk1.8的接口新增了默认方法和静态方法,可以使用default和static,jdk9又新增了私有方法,可以使用private;
由于使用私有方法,只能被接口自己调用,不可能被实现类实现,所以私有方法必须写方法体;当然私有方法也可以看情况使用static修饰;
demo:
package test;
public interface MyInterface {
//jdk1.8的默认方法
public default void a() {
System.out.println("a default");
c();
}
//jdk1.8的静态方法
public static void b() {
System.out.println("b static");
d();
}
//jdk9新增了私有方法
private void c() {
System.out.println("c private");
}
private static void d() {
System.out.println("d private static");
}
}
测试类:
package test;
public class MainTest {
public static void main(String[] args) {
MyInterface a = new MyInterface() {
};
a.a();
MyInterface.b();
}
}
执行结果: