一个类可包含多个构造函数,在java中一个构造函数可以调用另一个构造函数来实现自身。
调用其他构造函数可以使用this关键字进行调用。
例如下面代码:
public class Student {
private int studentID;
private String studentName;
private String sex;
public Student(int id){
this.studentID=id;
}
public Student(String name,String sex){
this.studentName=name;
this.sex=sex;
}
public Student(int id,String name,String sex){
this(name,sex);
this.studentID=id;
}
public static void main(String[] args) {
Student stu=new Student(20140506,"小皮","男");
System.out.println(stu.studentID+","+stu.studentName+","+stu.sex);
}
}
在构造函数public Student(int id,String name,String sex){}中调用了this(name,sex)构造函数进行初始化。
但是要注意,构造函数只能调用一次,多次调用构造函数会报错。如下:
public Student(int id,String name,String sex){
this(name,sex);
this(id);
}
上面的代码中调用了两次构造函数,因此编译不通过。