对象创建的过程

案例:

class A{
  int v1 = 1;
  static v2 = 2;
  static{}
  public A(){}
}
class B extends A{
  int v3 = 1;
  static v4 = 2;
  static{}
  public A(){}
}

//新建B实例
new B();

  第一次用到A和B类

      加载父类,为父类的静态变量分配内存

      加载子类,为子类的静态变量分配内存

      为父类静态变量复制和静态初始化块

      为子类类静态变量复制和静态初始化块

  创建对象:

    新建父类对象,为父类实例变量分配内存

    新建子类对象,为父类实例变量分配内存

    父类实例变量的赋值运算

    父类构造方法

    子类实例变量的赋值运算

    子类构造方法

  

猜你喜欢

转载自www.cnblogs.com/gxlaqj/p/11421240.html
今日推荐