Java基础:构造代码块

作用

给所有的对象进行统一的初始化。

实例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package demo;

public class Person {
private String name;
private int age;

{
System.out.println("构造代码块");
}

public Person() {
System.out.println("空构造函数");
}


public Person(String name, int age) {
System.out.println("有参构造函数,name:" + name + ",age:" + age );
}


public static void main(String[] args) {
Person person = new Person();

Person person1 = new Person("张三",18);

}

}

运行结果:

构造代码块
空构造函数
构造代码块
有参构造函数,name:张三,age:18

特性

对象一创建构造代码块就会运行,是先于构造函数运行的。
构造代码块的主要作用是对所有构造方法中的公共的内容进行抽取。

构造函数与构造代码块的区别

构造代码块是给所有对象进行统一初始化
而构造函数则是给对应的对象进行初始化的,例如带一个参数的构造方法,无参构造方法等。