this 你去看看this 的使用吧 interface A{
int x = 0;
}
class B{
int x =1;
}
class C extends B implements A {
public void pX(){
System.out.println(x);
}
public static void main(String[] args) {
new C().pX();
}
}
你找个两个个类中都有x 。虚拟机不知道你要调用的是哪个x ,虚拟机就报错了呗。比喻一个吧 就是说 你学java 你在李老师这里学习,又在张老师那里学习java。都是学习java 但是张老师和李老师讲的思想并不会相同。当你想用老师的思想的时候 两个java思想都叫X.当你对别人说我要调用X思想的时候 那请问你要说出哪个老师的思想。因为是常量 所以必须标示才可以。也就是 接口名.常量 。其实你理解this,这个就能理解了就是必须告诉别人你用的是哪个常量 。 如果是方法重名的话你就直接覆盖就可以了(也就是实现)。去看看接口定义吧。 |