小编Chi*_*ain的帖子

为什么一个类可以实现多个接口但不能继承多个类?

我发现的答案之一是"如果属于两个不同类的两个方法/变量具有相同的名称,则多重继承会导致冲突".但我认为在实现多个接口时也可能存在冲突.例如,考虑一个实现两个具有相同变量名的接口的类(变量可以在接口中定义,并且它们在默认情况下是最终的)在它们内部声明

interface Ainterface {

    public final static int i=10;

}


class InterfaceCheck implements Ainterface {
        public static void main(String[] args) {        
        System.out.println(i);
    }

}
Run Code Online (Sandbox Code Playgroud)

上面的代码完全正常

interface Ainterface {

    public final static int i=10;

}

interface Binterface {

    public static final int i=20;

}

class InterfaceCheck implements Ainterface,Binterface {
        public static void main(String[] args) {        
        System.out.println(i);
    }

}
Run Code Online (Sandbox Code Playgroud)

根据互联网上的消息来源"实现多个接口永远不会导致冲突"但上述代码会产生错误.所以这就是我所说的冲突.

java inheritance interface

0
推荐指数
1
解决办法
1203
查看次数

标签 统计

inheritance ×1

interface ×1

java ×1