有大神吗
对象创建过程
class A{
int v1 = 1;
static int v2 =2;
static{...}
A(){...}
}
class B extends A{
int v3 = 3;
static int v4 =4;
static{...}
B(){...}
}
new B();
第一次用到A和B类
加载父类,为父类的静态变量分配内存 初始化成默认值
加载子类,为子类的静态变量分配内存
父类的静态变量赋值运算,静态初始化块执行
子类的静态变量赋值运算,静态初始化块执行
创建对象的过程
新建父类对象,为父类的实例变量分配内存
新建子类对象,为子类的实例变量分配内存
父类的实例变量赋值运算
父类的构造方法
子类的实例变量赋值运算
子类的构造方法