继承父类并实现多个接口以及接口之间的多继承
作者:互联网
继承父类并实现多个接口
使用接口的时候,需要注意:
1.接口是没有静态代码块或者构造方法的。
2.一个类的直接父类是唯一的,但是一个类可以同时实现多个接口。
格式:
public class MyInterfaceImpl implements MyInterfaceA,MyInterfaceB {
/覆盖重写所有拍象方法
}
3.如果实现类所实现的多个接口当中,存在重复的抽象方法,那么只需要覆盖重写一次即可
4.如果实现类没有覆盖重写所有接口当中的所有抽象方法,那么实现类就必须是一个抽象类
5.如果实现类锁实现的多个接口当中,存在重复的默认方法那么实现类一定要对冲突的默认方法进行覆盖重写
6.一个类如果直接父类当中的方法和接口当中的默认方法产生了冲突,优先用父类当中的方法,
public interface MyInterfaceConst1 { public abstract void method1(); public abstract void method11(); public default void methodDefault(){ System.out.println("默认方法1"); } }
public interface MyInterfaceConst2 { public abstract void method2(); public abstract void method11(); public default void methodDefault(){ System.out.println("默认方法2"); } }
public class MyInterfaceTest implements MyInterfaceConst1,MyInterfaceConst2{ @Override public void method1() { System.out.println("覆盖重写1接口中的方法"); } @Override public void method2() { System.out.println("覆盖重写2接口中的方法"); } @Override public void method11() { System.out.println("覆盖重写1和2接口中都有的方法"); } @Override public void methodDefault() { System.out.println("对多个接口当中冲突的默认方法进行了覆盖重写"); } }
接口之间的多继承
1.类与类之间是单继承的,直接父类只有一个
2.类与接口之间是多现实的,一个类可以实现多个接口
3.接口与接口之间是多继承的,
public interface MyInterfaceA { public abstract void methodA(); public abstract void methodCommon(); }
public interface MyInterfaceB { public abstract void methodB(); public abstract void methodCommon(); }
public interface MyInterFace extends MyInterfaceA,MyInterfaceB{ public abstract void method(); }
public class Test implements MyInterFace{ @Override public void method() { } @Override public void methodA() { } @Override public void methodB() { } @Override public void methodCommon() { } }
注意事项:
1.多个父接口当中的抽象方法如果重复,没关系
2.多个父接口当中的默认方法如果重复,那么子接口必须进行默认方法的覆盖重写【而且带着default关键字】
标签:继承,void,接口,public,Override,父类,重写,abstract 来源: https://www.cnblogs.com/aqhk/p/16443539.html