字体为灰色--可以省略 default一旦省略--java会把他认为是抽象方法
package interfacedemo2;public interface Inter1 {public default void show(){System.out.println("inter1中的默认接口方法");}
}
package interfacedemo2;public interface Inter2 {public abstract void method();public default void show(){System.out.println("Inter2中的默认接口方法");}
}
package interfacedemo2;public class InterImpl implements Inter1,Inter2{@Overridepublic void method() {System.out.println("方法");}@Overridepublic void show() {Inter1.super.show();}
}
package interfacedemo2;public class Test {public static void main(String[] args) {InterImpl ii=new InterImpl();ii.show();ii.method();}
}
1.新增方法--静态方法
静态方法不需要重写
package interfacedemo3;public interface Inter1 {public abstract void method();public static void show(){System.out.println("inter接口中的静态方法");} }
package interfacedemo3;import interfacedemo2.Inter2;public class InterImpl implements Inter1 {@Overridepublic void method() {System.out.println("接口中的抽象方法");}public void show(){System.out.println("实现类的方法");} }
package interfacedemo3;public class Test {public static void main(String[] args) {InterImpl ll1=new InterImpl();ll1.method();ll1.show();Inter1.show();} }
2.接口的应用
3.适配器设计模式
package interfacedemo4;public interface inter {public abstract void show1();public abstract void show2();public abstract void show3();public abstract void show4();public abstract void show5();public abstract void show6();public abstract void show7(); }
package interfacedemo4;public class interImpl implements inter{@Overridepublic void show1() {}@Overridepublic void show2() {}@Overridepublic void show3() {}@Overridepublic void show4() {}@Overridepublic void show5() {}@Overridepublic void show6() {}@Overridepublic void show7() {} }
package interfacedemo4;public class interAdapter extends interImpl{@Overridepublic void show5() {super.show5();} }
![]()
写成abstract--不让外界创建它的对象
相当于在实现类和接口类之间添加了第三者