【Java学习】类加载与实例化过程
目录
一、类加载(方法区)
1.父类静态初始化
2.子类静态初始化
二、实例化(堆)
1.赋零值
2.构造初始化
2.1父类构造初始化
2.2子类构造初始化
一、类加载(方法区)
类 首次被使用时 只一次的 静态加载
1.父类静态初始化
(父类)静态变量赋零值 + 静态变量就地初始化 + 静态代码块
2.子类静态初始化
(子类)静态变量赋零值 + 静态变量就地初始化 + 静态代码块
二、实例化(堆)
类 每次创建对象时 对实例的加载
1.赋零值
父子所有实例变量 赋零值
2.构造初始化
2.1父类构造初始化
【先:子类构造方法第一行的super() 转先去执行 上一层父类构造方法】
(父类)实例变量就地初始化 + 实例代码块 + 构造方法体
2.2子类构造初始化
【后:回到子类构造方法】
(子类)实例变量就地初始化 + 实例代码块 + 构造方法体