class A{
public int field = 2;
}class B extends A{
public int field = 1;
}public class Test{
public static void main(String[] args) {
B b= new B();
System.out.println("b.field = " + b.field); A a = b;
System.out.println("a.field = " + a.field); }
} 输出结果:
b.field = 1
a.field = 2a不是指向b的存储区吗,为什么a.field = 2 而不是 = 1?
public int field = 2;
}class B extends A{
public int field = 1;
}public class Test{
public static void main(String[] args) {
B b= new B();
System.out.println("b.field = " + b.field); A a = b;
System.out.println("a.field = " + a.field); }
} 输出结果:
b.field = 1
a.field = 2a不是指向b的存储区吗,为什么a.field = 2 而不是 = 1?
class A{
public int field = 2;
public void print() {
System.out.println("A");
}
} class B extends A{
public int field = 1;
public void print() {
System.out.println("B");
}
} public class Test{
public static void main(String[] args) {
B b= new B();
System.out.println("b.field = " + b.field); A a = b;
System.out.println("a.field = " + a.field);
a.print();
}
}
输出结果:
b.field = 1
a.field = 2
B