嗨,我有两个接口Ainterface和Binterface具有与“ i ”相同的静态最终变量,分别声明为10和20,我在两个类InterfaceCheck中实现这两个接口,我将相同的接口变量声明为 static 和 final 并初始化为30 . 当我尝试在我的班级中打印i的值时,我得到 30 作为输出。有人可以解释一下为什么我能够将i重新初始化 为其他值,即使它是最终变量。
代码
public interface Ainterface {
public final static int i=10;
}
public interface Binterface {
public static final int i=20;
}
public class InterfaceCheck implements Ainterface,Binterface {
public static final int i=30;
public static void main(String[] args) {
System.out.println(i);
}
}
>> 输出:30