📅  最后修改于: 2023-12-03 14:42:20.460000             🧑  作者: Mango
在 Java 中,构造函数是一种特殊的方法,用于创建对象并初始化对象的成员变量。构造函数的名称必须与类名相同,且不能有返回值。
如果一个类没有显式定义构造函数,那么该类会有一个默认的构造函数。默认构造函数没有参数,什么都不做。例如:
public class MyClass {
// 默认构造函数
public MyClass() {
// 什么都不做
}
}
我们可以定义一个或多个带参数的构造函数,用于在创建对象时初始化对象的成员变量。例如:
public class Person {
private String name;
private int age;
// 构造函数,用于初始化 name 和 age
public Person(String name, int age) {
this.name = name;
this.age = age;
}
// getter 和 setter 方法省略
}
在上面的例子中,我们定义了一个名为 Person 的类,其中包含一个带参数的构造函数,该构造函数用于初始化对象的 name 和 age 成员变量。
在构造函数中,可以使用 this 关键字来引用当前对象。例如:
public class Person {
private String name;
private int age;
// 构造函数,用于初始化 name 和 age
public Person(String name, int age) {
this.name = name;
this.age = age;
}
// getter 和 setter 方法省略
}
在上面的例子中,我们在构造函数中使用了 this 关键字来引用当前对象,以便使用 this.name 和 this.age 来访问对象的成员变量。
与普通方法一样,构造函数也可以被重载。例如:
public class Person {
private String name;
private int age;
// 默认构造函数,不做任何操作
public Person() {}
// 构造函数,用于初始化 name
public Person(String name) {
this.name = name;
}
// 构造函数,用于初始化 age
public Person(int age) {
this.age = age;
}
// 构造函数,用于初始化 name 和 age
public Person(String name, int age) {
this.name = name;
this.age = age;
}
// getter 和 setter 方法省略
}
在上面的例子中,我们定义了多个构造函数,它们有不同的参数列表,以便用于不同的初始化场景。