代码块(初始化块)的作用:对java对象进行初始化。
程序的执行顺序
1、声明成员变量的默认值;
2、显式初始化、多个初始化块依次被执行(同级别下按先后顺序执行);
3、构造方法再对成员进行赋值操作;
一个类中的初始化块若有修饰符,则只能被static修饰,称为静态代码块(static block),当类被载入时,类属性的声明和静态代码块按先后顺序执行,且只执行一次。
非静态代码块:
可以有输出语句;
可以对类的属性声明进行初始化操作;
可以调用静态和非静态的变量或方法;
若有多个非静态的代码块,那么按照从上到下的顺序一次执行;
每次创建对象的时候,都会执行一次;
静态代码块:
可以有输出语句;
可以对类的属性声明进行初始化操作;
不可以对非静态的属性初始化;
静态代码块的执行要先于非静态代码块;
静态代码块只执行一次;
在匿名内部类中,用代码块代替构造方法。
原文地址:https://www.cnblogs.com/fangfangfanga/p/12117100.html
时间: 2024-11-08 20:25:59