继承父类并实现接口以及接口之间的多继承
作者:互联网
继承父类并实现接口
使用接口的时候,需要注意:
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/xjw12345/p/16437458.html