接上一篇的
子类的父类和接口有相同的方法,在这里说一下 子类的父类和接口有相同的成员变量,将会怎样处理。
接口:
public
interface
E
{
int x = 1;

}
父类:
public
class
F
{
int x = 2;

}
子类:
public
class
G
extends
F
implements
E
{
public G() {
System.out.println(x);
}

public static void main(String[] args) {
// TODO Auto-generated method stub
new G();
}

}
这里,大家认为这个是正确的吗?
答案呢,它是这个子类出问题了,在编译时出了问题。
正确的方案是:对于父类的变量,可以用super.x来调用;而接口中的变量,隐含是public static final,所以只能通过E.x来调用。
接口:






















答案呢,它是这个子类出问题了,在编译时出了问题。
正确的方案是:对于父类的变量,可以用super.x来调用;而接口中的变量,隐含是public static final,所以只能通过E.x来调用。