继承父类并实现接口以及接口之间的多继承
继承父类并实现接口
使用接口的时候,需要注意:
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关键字
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix