Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Constructor mặc định (Default Constructor) trong Java là gì?

Một constructor (hàm tạo) tương tự như một phương thức và được gọi vào lúc tạo đối tượng của một class. Nó thường được dùng để khởi tạo các biến instance (biến thể hiện) của class. Các constructor có cùng tên với class của chúng và không có kiểu trả về.

Constructor mặc định trong Java khởi tạo các thành viên dữ liệu của class về giá trị mặc định của chúng, ví dụ: 0 cho int, 0.0 cho double, v.v. Constructor này được trình biên dịch Java triển khai mặc định nếu người dùng không định nghĩa rõ ràng bất kỳ constructor nào cho class đó.

Nếu bạn quan sát ví dụ sau, chúng ta không cung cấp bất kỳ constructor nào cho class:

public class Sample {
    int num;
    public static void main(String args[]) {
        System.out.println(new Sample().num);
    }
}

Nếu bạn biên dịch và chạy chương trình trên, constructor mặc định sẽ khởi tạo biến nguyên num với giá trị 0 và bạn sẽ nhận được kết quả là 0.

Lệnh javap hiển thị thông tin về các trường, constructor và phương thức của một class. Nếu bạn (sau khi biên dịch) chạy class trên bằng lệnh javap, bạn có thể quan sát constructor mặc định được thêm vào bởi trình biên dịch như sau:

D:\>javap Sample
Compiled from "Sample.java"
public class Sample {
    int num;
    public Sample();
    public static void main(java.lang.String[]);
}

Ví dụ

Ví dụ dưới đây minh họa sự khác biệt giữa constructor mặc định và constructor có tham số:

public class Sample {
    int num;
    Sample() {
        num = 100;
    }
    Sample(int num) {
        this.num = num;
    }
    public static void main(String args[]) {
        System.out.println(new Sample().num);
        System.out.println(new Sample(1000).num);
    }
}

Kết quả

100
1000