继承父类并实现多个接口

继承父类并实现多个接口

接口使用事项:

1.接口是没有静态代码块或者构造方法的

2.一个类的直接父类是唯一的 但是一个类可以同时实现多个接口

格式:

public class 类名 implements 接口名1,接口名2(){}

代码:

接口1:

public interface MyInterfaceA {
public abstract void methodA();
}

接口2:

public interface MyInterfaceB {
public abstract void methodB();
}

实现类:

public class MyInterfaceImp implements MyInterfaceA,MyInterfaceB {
@Override
public void methodA() {
System.out.println("覆盖重写了A方法");
}

@Override
public void methodB() {
System.out.println("覆盖重写了B方法");
}
}

一个类的直接父类是唯一的但可以实现很多的接口

3.如果实现类所实现的多个接口当中 存在重复的抽象方法 那么只需要覆盖重写异常即可

代码:

接口1

public interface MyInterfaceA {
public abstract void methodA();

public abstract void methodAB();
}

接口2

public interface MyInterfaceB {
public abstract void methodB();

public abstract void methodAB();
}

实现类

public class MyInterfaceImp implements MyInterfaceA,MyInterfaceB {
@Override
public void methodA() {
System.out.println("覆盖重写了A方法");
}


@Override
public void methodB() {
System.out.println("覆盖重写了B方法");
}
@Override
public void methodAB() {
System.out.println("同时覆盖了AB接口的方法");
}

}

4.如果实现类没有覆盖重写的所有的接口当中的所有方法 那么这个实现类型必须是抽象类

接口A

public interface MyInterfaceA {
public abstract void methodA();

public abstract void methodAB();
}

接口B

public interface MyInterfaceB {
public abstract void methodB();

public abstract void methodAB();
}

实现类

public abstract class MyInterfaceImp implements MyInterfaceA,MyInterfaceB {
@Override
public void methodA() {
System.out.println("覆盖重写了A方法");
}


/*
假如我漏写了一个 那如果想不让这个类报错 只能将它改为抽象类
@Override
public void methodB() {
System.out.println("覆盖重写了B方法");
}*/
@Override
public void methodAB() {
System.out.println("同时覆盖了AB接口的方法");
}

}

5.如果实现类锁实现的多个接口当中 存在重复的默认方法 那么实现类一定要对象冲突的默认方法进行覆盖重写

6.一个类如果直接父类当中的方法 和接口当中的默认方法产生冲突 优先用父类当中的方法

posted @   baimingze  阅读(50)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示