类注意—注意事项
-
接口MyInterfaceA
package cn.xiaoge.day10.demo03; public interface MyInterfaceA { public abstract void methodA(); public abstract void methodCommon(); public default void methodDefault() { System.out.println("AAA"); } }
-
接口MyInterfaceB
package cn.xiaoge.day10.demo03; public interface MyInterfaceB { public abstract void methodB(); public abstract void methodCommon(); public default void methodDefault() { System.out.println("BBB"); } }
-
接口MyInterface
package cn.xiaoge.day10.demo03; /* 这个子接口当中有几个方法? 答: 4个. methodA 来源于接口A methodB 来源于接口B methodCommon 同时来源于接口A和B method 来源于我自己 */ public interface MyInterface extends MyInterfaceA, MyInterfaceB { public abstract void method(); @Override public default void methodDefault() { System.out.println(); } }
-
实现类MyInterfaceImpl
package cn.xiaoge.day10.demo03; public class MyInterfaceImpl implements MyInterface { @Override public void method() { } @Override public void methodA() { } @Override public void methodB() { } @Override public void methodCommon() { } }
-
执行路口
package cn.xiaoge.day10.demo03; /* 1. 类与类之间是单继承的. 直接父类只有一个 2. 类与接口之间是多继承的, 一个类可以实现多个接口. 3. 接口与接口之间是多继承的. 注意事项: 1. 多个父接口当中的抽象方法如果重复, 没关系. 2. 多个父接口当中的默认方法, 那么子接口必须进行默认方法的覆盖重写, [而且带着default关键字]. */ public class DemoRelations { public static void main(String[] args) { MyInterfaceImpl Impl = new MyInterfaceImpl(); Impl.method(); // 自己的方法 Impl.methodA(); // 接口A方法 Impl.methodB(); // 接口B方法 Impl.methodCommon(); // 接口A, B共有方法common } } // 运行结果 自己的方法 接口A方法 接口B方法 接口A, B共有方法common