很多人还在想这样一个问题:java的变量能被覆盖吗?
其实java的覆盖是指方法来说的,变量是不能覆盖的。
如下:
public class Test {
public static void main(String args[]) {
A a = new B();
System.out.println(a.i);
System.out.println(a.get());
}
public class B extends A {
public int i = -6;
public B() {
System.out.println("B().");
}
@Override
public int get() {
System.out.println("get B.");
return i;
}
}
public class A {
public int i = 12;
public A(){
System.out.println("A().");
}
public int get() {
System.out.println("get A.");
return i;
}
}
结果:
A().
B().
12
get B.
-6