1.从jdk8开始默认方法(实例方法)
必须用default,默认用pubic修饰
默认方法不能创建对象,过继给了实例类,有实例对象调用
public interface Test1{ default void A(){ System.out.println("A方法"); }; } class B implements Test1{ } class Test{ public static void main(String[] args) { B b=new B(); b.A(); } }
2.静态方法,必须用static修饰,默认用public修饰,必须你用接口名自己调用
public interface Test1{ default void A(){ System.out.println("A方法"); } public static void a(){ System.out.println("静态方法"); } } class B implements Test1{ } class Test{ public static void main(String[] args) { B b=new B(); b.A(); Test1.a(); } }
3.私有方法,必须在接口内部被访问,从jdk9开始
public interface Test1{ default void A(){ System.out.println("A方法"); a1(); } public static void a(){ System.out.println("静态方法"); } private void a1(){ System.out.println("私有方法"); } } class B implements Test1{ } class Test{ public static void main(String[] args) { B b=new B(); b.A(); Test1.a(); } }