• java --- 对象的创建过程


    java 对象创建的过程

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

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

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

    3.初始化本类属性。

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

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

    假设如下代码:

     1 class A{
     2 
     3       int valueA = 100;
     4 
     5       public A(){  valueA = 150; }
     6 
     7 }
     8 
     9 class B extends A {
    10 
    11      int valueB = 200;
    12 
    13     public B(){  valueB= 250; }
    14 
    15 }
    16 
    17 public calss TestInherit{
    18 
    19      public static void main(Stirng []){
    20 
    21           B b = new B();
    22 
    23     }
    24 
    25 }

    我们在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的构造方法。

  • 相关阅读:
    underscorejs
    使用CORS:跨域两三事
    line-height的小技巧
    深入探讨ES6生成器
    ES6生成器基础
    响应式网页
    javascript代码复用(四)-混入、借用方法和绑定
    javascript代码复用模式(三)
    javascript代码复用模式(二)
    jQuery基础事件
  • 原文地址:https://www.cnblogs.com/plxx/p/4524141.html
Copyright © 2020-2023  润新知