Java构造函数是类的特殊方法,用于创建对象时初始化成员变量,方法名必须与类名完全一致,且没有返回值类型(包括void也不能写)。
- 默认构造函数
若类中未显式定义任何构造函数,编译器会自动生成一个无参、空实现的默认构造函数;一旦手动定义了构造函数,默认构造函数会失效。
class Student {
String name;
// 编译器自动生成的默认构造函数:Student() {}
}
- 构造函数的重载
支持方法重载,即一个类可以有多个构造函数,参数列表(类型、个数、顺序)不同,用于灵活初始化对象。
class Student {
String name;
int age;
// 无参构造
public Student() {}
// 单参构造
public Student(String name) {
this.name = name;
}
// 双参构造
public Student(String name, int age) {
this.name = name;
this.age = age;
}
}
- 关键特性
◦ 用new关键字创建对象时,会自动调用对应的构造函数。
◦ 构造函数中可以用this()调用本类的其他构造函数,且该语句必须是构造函数的第一条语句。
◦ 子类构造函数默认通过super()调用父类的无参构造函数,也可手动指定调用父类的有参构造。
- 注意事项
◦ 构造函数不能被static、final、abstract、native修饰。
◦ 不能有返回值,也不能写return语句(除非是return;这种空返回)。