代码块

代码块

代码块可以看作时对构造器的补充,可以重复利用代码块,减少冗余。

普通代码块

每创建一个对象就调用一次代码块,在构造器之前被调用,跟类加载无关。

静态代码块

在普通代码块前加staic修饰符,在类加载的时候被调用,只会被调用一次。

类加载的三种情况

1、类实例化一个对象

2、类访问静态的成员

3、子类创建一个对象,父类也会加载

 用类实例化一个对象的调用顺序

1、先调用静态属性初始化和静态代码块,他们的优先级一样。如果有多个,遵循先定义,先调用原则

2、调用普通代码块和普通属性初始化,优先级一样,也遵循先定义先调用

3、最后调用构造器

 

创建一个子类对象(继承关系),静态代码块、静态属性初始化、普通代码块、普通属性初始化、构造器之间的关系

1、父类的静态代码块和静态属性

2、子类的静态代码块和静态属性

3、父类的普通代码块和普通属性

4、父类的构造器

5、子类的普通代码块和普通属性

6、子类的构造器

posted @ 2022-09-17 22:26  伤逝l  阅读(61)  评论(0)    收藏  举报