a.先加载父类再加载子类
(有静态资源优先加载静态资源)
1.声明子类的对象
2.编译类加载时找到子类发现它有继承关系,所以到它的构造器中找到super()方法通过调用关系找到它继承的父类。
(子类规定要默认通过super()调用父类构造器,就是为了在加载子类时能找到它的父类把属性预先加载进内存,供子类使用)
3.加载父类的所有信息
4.最后加载子类的信息
b.类中加载顺序
(如果有静态属性或方法,优先加载进内存)
1.为对象分配内存空间,首先默认给对象初始化默认值(例如:String str = null;)
2.如果实例的变量已经显示初始化,将显示初始化的值赋给实例变量(把默认值覆盖,显示初始化内存也会自动默认赋值)
3.代码块
4.调用构造器
5.返回对象的地址器