更新时间:2022年07月19日10时45分 来源:传智教育 浏览次数:

构造块(又称为)是直接在类中定义的代码块。下面通过一个案例演示构造代码块的作用,如文件3-12所示。
class Student{
String name; //成员属性
{
System.out.println("我是构造代码块"); //与构造方法同级
}
//构造方法
public Student () {
System.out.println("我是Student类的构造方法");
}
}
public class Example12 {
public static void main (String[] args) {
Student stul = new Student ();
Student stu2 = new Student ();
}
}
文件3-12 Example12.java
文件3-12的运行结果如图3-17所示。
在文件3-12的Student类中可以看到,第3~5行表示的代码块定义在成员位置,与构造方法、成员属性同级,这就是构造块。

图3-17 文件3-12的运行结果
由图3-17可以得出以下两点结论。
(1)在实例化Student类对象stul、stu2时,构造块的执行顺序优先于构造方法(这里和构造块写在前面,还是后面没有关系)。
(2)每当实例化一个Student类对象时,都会在执行构造方法之前执行构造代码块。