class A {
int v1 = 1;
static int v2 = 2;
static {}
public A() {}
}
class B extends A {
int v3 = 3;
static int v4 = 4;
static {}
public B() {}
}
new B();
new B();
一、第一次用到A类和B类
1、加载父类,为父类的静态变量分配内存空间;
2、加载子类,为子类的静态变量分配内存空间;
3、执行父类静态变量的赋值运算和静态初始化块;
4、执行子类静态变量的赋值运算和静态初始化块;
二、创建对象
1、为父类的实例变量分配内存空间;
2、为子类的实例变量分配内存空间;
3、执行父类实例变量的赋值运算;
4、执行父类的构造方法;
5、执行子类实例变量的赋值运算;
6、执行子类构造方法;
对象创建过程
最新推荐文章于 2024-02-26 09:48:42 发布