创建一个子类对象会不会创建父类对象?
不会,只创建了一个子类对象,但是往父类对象的构造方法里传了子类对象的地址;给子类对象初始化的时候,调用了父类的构造方法。
证明:
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(内存地址)会不一样,但结果相同。
以上就是创建一个子类对象会不会创建父类对象?的详细内容。