当一个类有多个构造函数时,为了减少代码量,我希望在一个构造函数中调用其他构造函数,此时可以使用使用this指针达到目的。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public class test {
public static void main(String[] args) {
Person person1 = new Person();
Person person2 = new Person("张三");
Person person3 = new Person("李四", 18);
}
}

class Person {
String name;
int age;
Person() { // 缺省构造函数
System.out.println("调用了默认构造函数");
}
Person(String na) { // 带一个参数的构造函数
name = na;
System.out.println(name + "调用了1个参数的构造函数");
}
Person(String na, int ag) { // 带两个参数的构造函数
this(na); // 调用其他构造函数,必须放在首句(即不能同时调用两个)
age = ag;
System.out.println(name + "调用了2个参数的构造函数");
}
}

运行结果:

img


likeqc
ends