1、在类的内部,变量的定义会先于方法(包含构造器)进行初始化。
2、静态初始化只有在必要时进行(如在类A新建一个类B的非静态对象,则不会进行类B中静态类C的初始化)。
3、初始化的顺序是:静态对象先于非静态对象。
4、静态初始化只在Class对象首次加载时进行一次。
5、实例初始化语句块在构造器之前执行初始化。
6、数组和对象一样,传递的是“引用”。
7、包的访问权限是public(所有) > protected(子类和同包下)> default(又称package访问权限)> private(本类)
8、类加载/初始化的顺序是:
(1) 先是父类的static变量和static初始化块(变量和初始块看编码顺序)
(2)然后是子类的static变量和static初始化块
(3)父类的实例变量、初始化快
(4)父类的构造方法
(5)子类的实例变量、初始化快
(6)子类构造方法