java 代码块
代码块的使用
-
静态代码块在执行类加载的时候,仅执行一次;
- 创建对象的时候,
- 创建子类对象的时候;
- 调用类静态属性的时候;
- 类的加载,仅加载一次;
-
创建一个对象的时候,一个类的调用顺序:
- 静态代码块和静态属性,静态方法初始化,他们优先级一样,按照定义顺序执行【类加载】;
- 调用普通代码块和普通属性的初始化,他们优先级一样,按照定义顺序调用;
- 调用构造器方法:构造器方法的调用隐含了:
- super();
- 普通代码块:{} //代码块是对构造器的补充;
-
创建一个子类时,一个类的调用顺序:
-
类加载:
- 父类静态代码块和静态属性【优先级一样,按定义顺序执行】;
- 子类静态代码块和静态属性【优先级一样,按照定义顺序执行】;
- 父类普通代码块和普通属性初始化【优先级一样,按定义顺序执行】;
-
对象实例化:
- 父类构造器方法;
- 子类普通代码块和普通属性初始化【优先级一样,按照顺序执行】;
- 子类构造器方法;
-
静态代码块:只能调用静态成员【静态属性和静态方法】,普通代码块可以调用任意成员;

浙公网安备 33010602011771号