📜  Java-构造函数(1)

📅  最后修改于: 2023-12-03 14:42:20.460000             🧑  作者: Mango

Java 构造函数

在 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 关键字

在构造函数中,可以使用 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 方法省略
}

在上面的例子中,我们定义了多个构造函数,它们有不同的参数列表,以便用于不同的初始化场景。