創建一個子類對象會不會創建父類對象? 不會,只創建了一個子類對象,但是往父類對象的構造方法里傳了子類對象的地址;給子類對象初始化的時候,調用了父類的構造方法。 證明: 結果: A==366712642 B==366712642 如果子類對象創建的同時也創建了一個父類對象,那麼父類和子類構造方法中th ...
創建一個子類對象會不會創建父類對象?
不會,只創建了一個子類對象,但是往父類對象的構造方法里傳了子類對象的地址;給子類對象初始化的時候,調用了父類的構造方法。
證明:
class A{
public A(){
System.out.println("A=="+this.hashCode());
}
}
class B extends A{
public B(){
System.out.println("B=="+this.hashCode());
}
}
public class test{
public static void main(String[] args){
A test=new B();
}
}
結果:
A==366712642
B==366712642
如果子類對象創建的同時也創建了一個父類對象,那麼父類和子類構造方法中this的hashcode(記憶體地址)會不一樣,但結果相同。