java 创建对象过程_java 对象创建的过程

存在了继承关系之后,对象创建过程如下:

1.分配空间。要注意的是,分配空间不光是分配子类的空间,子类对象中包含的父类对象所需要的空间,一样在这一步统一分配。在分配的空间的时候,会把所有的属性设置为默认值。

2.递归的构造父类对象。

3.初始化本类属性。

4.调用本类的构造方法。

举例介绍对象创建的过程。

假设如下代码:

class A{

int valueA = 100;

public A(){  valueA = 150; }

}

class B extends A {

int valueB = 200;

public B(){  valueB= 250; }

}

public calss TestInherit{

public static void main(Stirng []){

B b = new B();

}

}

我们在main方法中创建了一个b对象,创建的过程如下:

1.分配空间。在分配空间时,会把B、A这两个对象的空间一次性都分配完毕,然后将这两个对象的属性都设置为默认值,这样,valueA、valueB这两个属性都被设置为0。

2.递归构造B对象的父类对象。这里,要构造的就是A类对象。

3.初始化B的属性。即把valueB赋值为200。

4.调用B的构造方法。

其中第2步,创建A类对象,不需要再重新分配空间,需要一下几步:

2.1 递归的构造A类对象的父类对象。创建的步骤与创建A类对象同理。此例中以为A没有任何的父类,没有任何的输出。

2.2 初始化A类属性。把valueA 赋值为100.

2.3 调用A类的构造方法。

总结一下,创建B类对象的步骤一共有5步

1.分配空间

2.初始化A类属性。

3.调用A类的构造方法.

4.初始化B的属性。

5.调用B的构造方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值