Java>接口>>接口之间的多继承

接口之间的多继承:

1. 类与类之间是单继承的,直接父类只有一个。

2. 类与接口之间是多实现的,一个类可以实现多个接口。

3. 接口与接口之间是多继承的

注意事项:

1. 多个父接口当中的抽象方法如果重复,没关系。

2. 多个父接口当中的默认方法如果重复,那么子接口必须进行默认方法的覆盖重写。【而且带着default关键字】

实例如下:

创建一个接口类AA:
package JieKou;
 
// 接口类AA
 
public interface MyInterfaceAA {
    public abstract void methodAA();
 
    public abstract void methodCommon();
 
    public default void methodDefault(){
        System.out.println("AA中的默认方法");
    }
}

创建一个接口类BB:
package JieKou;
 
//接口类BB
 
public interface MyInterfaceBB {
    public abstract void methodBB();
 
    public abstract void methodCommon();
 
    public default void methodDefault(){
        System.out.println("BB中的默认方法");
    }
}

创建一个接口类CC:
package JieKou;
 
/*
接口类CC
这个子接口当中有几个方法?答:四个
methodAA 来源于接口AA
methodBB 来源于接口BB
methodCommon 同时来源于接口AA和BB
method 来源于我自己
 */
 
public interface MyInterfaceCC extends MyInterfaceAA,MyInterfaceBB{
 
    public abstract void method();
 
    @Override
    default void methodDefault() {
        System.out.println("默认方法如果重复,那么子接口必须进行默认方法的覆盖重写");
    }
}

创建一个实现类MyInterfaceCCImpl使用接口CC:
package JieKou;
 
//实现类
 
public class MyInterfaceCCImpl implements MyInterfaceCC {
    @Override
    public void method() {
        System.out.println("来源于我自己的成员方法");
    }
 
    @Override
    public void methodAA() {
        System.out.println("methodAA 来源于接口AA");
    }
 
    @Override
    public void methodBB() {
        System.out.println("methodBB 来源于接口BB");
    }
 
    @Override
    public void methodCommon() {
        System.out.println("methodCommon 同时来源于接口AA和BB");
    }
}


创建一个Demo01Relations类使用实现类MyInterfaceCCImpl:
package JieKou;
 
public class Demo01Relations {
    public static void main(String[] args) {
        MyInterfaceCCImpl impl = new MyInterfaceCCImpl();
 
        impl.methodDefault(); // 默认方法如果重复,那么子接口必须进行默认方法的覆盖重写
 
        impl.method(); // 来源于我自己的成员方法
 
        impl.methodAA(); // methodAA 来源于接口AA
 
        impl.methodBB(); // methodBB 来源于接口BB
 
        impl.methodCommon(); // methodCommon 同时来源于接口AA和BB
    }
 
}
默认方法如果重复,那么子接口必须进行默认方法的覆盖重写
来源于我自己的成员方法
methodAA 来源于接口AA
methodBB 来源于接口BB
methodCommon 同时来源于接口AA和BB





全部评论

相关推荐

凌小云:问题太大了,首先把教育背景放前面。不然简历不用看就看被pass了。然后两个项目写了和没写一样,不如商城+点评的描述。那专业技能,前面来个技术名,后面一点都不见具体那些了。你说你熟练java,说说java反射实现方式,那些地方用,io都有那些。这让面试官怎么问。这份简历看下来,没一点问的希望。看着技术栈用的多,亮点也没解决什么实际问题。很差的一份简历,患上技术堆砌的毛病了
我的简历长这样
点赞 评论 收藏
分享
纯真的河老师在喝茶:第一个是这个时间点岗位少,第二个是这个简历重复度太高了,10个有9个简历差不多的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务