1.java类的实例的初始化过程:
静态变量->静态代码块->main->实例变量->实例初始化块->构造器
加载的规则基本如下:
1.懒式加载:如果是第一次加载,通过 classpath 寻找其class文件。会加载其所有父类
2.为对象分配内存空间。递归为所有父对象分配内存空间。先父再子。属性默认初始化,值“0”
3.给属性赋值
4.递归调用父类构造器,最后调用子类构造器
5.静态方法貌似最早加载?静态初始化块和静态变量的执行顺序取决于在代码中的先后顺序
静态变量->静态代码块->main->实例变量->实例初始化块->构造器
加载的规则基本如下:
1.懒式加载:如果是第一次加载,通过 classpath 寻找其class文件。会加载其所有父类
2.为对象分配内存空间。递归为所有父对象分配内存空间。先父再子。属性默认初始化,值“0”
3.给属性赋值
4.递归调用父类构造器,最后调用子类构造器
5.静态方法貌似最早加载?静态初始化块和静态变量的执行顺序取决于在代码中的先后顺序