创建一个子类对象会不会创建父类对象?

创建一个子类对象会不会创建父类对象?

不会,只创建了一个子类对象,但是往父类对象的构造方法里传了子类对象的地址;给子类对象初始化的时候,调用了父类的构造方法。

证明:

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();

	}

}

结果:

A366712642
B
366712642
如果子类对象创建的同时也创建了一个父类对象,那么父类和子类构造方法中this的hashcode(内存地址)会不一样,但结果相同。

原文地址:https://www.cnblogs.com/Onlywjy/p/6947338.html