java继承机制本质的思考
发现给子类从父类继承过来的属性赋值,父类中这个属性也会发生变化,比如:
class A{
public A a;
public A() {
}
}
class B extends A{
public B() {
this.a = new A();
System.out.println(super.a.hashCode());
System.out.println(this.a.hashCode());
}
}
public static void main(String[] args) {
B b = new B();
}
//输出结果:
//23934342
//23934342
我原本以为父类和子类中的属性是两个独立的变量,但是这样看起来父类和子类中的属性同一个属性