问题:以下代码的结果是“5 A”和“10 B”。对于b.print(),this.num是对A类对象的引用,而this.getClass()是对B类对象的引用?Java继承 - 访问私有变量/ getClass()
超类甲
public class A {
private int num;
public A(int num) {
this.num = num;
}
public void print() {
System.out.println(this.num + " " + this.getClass().getName());
}
}
子类乙
public class B extends A {
public B(int num) {
super(num);
}
}
主要方法
A a = new A(5);
B b = new B(10);
a.print();
b.print();
把'this.'放在方法调用之前没有效果。 –
它们是两个不同的对象,它们都获得了传递的数字。我不明白为什么这会让人困惑。 – byxor