返回博主主页

java 8 接口默认方法多继承

已知:

public interface A {
    default void fun(){
        System.out.println("A");
    }
}
public interface B extends A{

    default void fun(){
        System.out.println("B");
    }
}
public interface C{

    default void fun(){
        System.out.println("c");
    }
}

则:

public interface D extends A,B{
    /**
     * a,b 虽然具有相同的方法签名,但是 b集成了 a,d 默认调用 b 中相同签名方法
     */
}
public interface E extends A,C{

    /**
     * a,c 具有相同的方法签名,e必须手动实现相同签名方法
     */
    @Override
    default void fun() {
        A.super.fun();
    }
}
posted @ 2024-02-05 10:08  懒惰的星期六  阅读(19)  评论(0编辑  收藏  举报

Welcome to here

主页