实例教程2 存在了继承关系之后,对象创建过程如下: 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的构造方法。 |
|( 京ICP备09078825号 )
GMT+8, 2025-2-17 16:57 , Processed in 0.323239 second(s), 42 queries .