《Thinking in java》- 类和对象初始化

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)子类构造方法

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容