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

Chương Trình Java Triển Khai Constructor Private


Trong bài viết này, chúng ta sẽ tìm hiểu cách triển khai constructor private (hàm tạo riêng tư). Constructor private cho phép hạn chế việc khởi tạo đối tượng của một lớp.

Dưới đây là minh họa:

Đầu vào

Giả sử đầu vào của chúng ta là:

Chạy chương trình

Đầu ra

Đầu ra mong muốn sẽ là:

Constructor private đang được gọi

Thuật Toán

Bước 1 - BẮT ĐẦU
Bước 2 - Định nghĩa constructor private sử dụng từ khóa 'private'
Bước 3 - Làm constructor private đảm bảo không thể tạo đối tượng của lớp đó
Bước 4 - Constructor private có thể dùng với các hàm static bên trong cùng lớp
Bước 5 - Constructor private thường dùng trong mẫu thiết kế Singleton
Bước 6 - Trong phương thức main, dùng câu lệnh in để gọi phương thức static
Bước 7 - Nó hiển thị đầu ra trên bảng điều khiển

Ví Dụ 1

Ở đây, đầu vào được nhập bởi người dùng dựa trên nhắc nhở.

class PrivateConstructor {
    private PrivateConstructor() {
        System.out.println("Một constructor private đang được gọi.");
    }
    public static void instanceMethod() {
        PrivateConstructor my_object = new PrivateConstructor();
    }
}
public class Main {
    public static void main(String[] args) {
        System.out.println("Gọi constructor private");
        PrivateConstructor.instanceMethod();
    }
}

Đầu Ra

Gọi constructor private
Một constructor private đang được gọi.

Ví Dụ 2

Ở đây, một constructor private được gọi và một instance được tạo (mẫu Singleton).

import java.io.*;
class PrivateConstructor {
    static PrivateConstructor instance = null;
    public int my_input = 10;
    private PrivateConstructor() {
    }
    static public PrivateConstructor getInstance() {
        if (instance == null)
            instance = new PrivateConstructor();
        return instance;
    }
}
public class Main {
    public static void main(String args[]) {
        PrivateConstructor a = PrivateConstructor.getInstance();
        PrivateConstructor b = PrivateConstructor.getInstance();
        a.my_input = a.my_input + 10;
        System.out.println("Gọi constructor private");
        System.out.println("Giá trị instance đầu tiên = " + a.my_input);
        System.out.println("Giá trị instance thứ hai = " + b.my_input);
    }
}

Đầu Ra

Gọi constructor private
Giá trị instance đầu tiên = 20
Giá trị instance thứ hai = 20