Chương trình Java để triển khai các hàm tạo riêng

Trong ví dụ này, chúng ta sẽ học cách triển khai các hàm tạo riêng trong Java.

Để hiểu ví dụ này, bạn nên có kiến ​​thức về các chủ đề lập trình Java sau:

  • Trình tạo Java
  • Java Singleton

Ví dụ 1: Chương trình Java để tạo một phương thức khởi tạo riêng

 class Test ( // create private constructor private Test () ( System.out.println("This is a private constructor."); ) // create a public static method public static void instanceMethod() ( // create an instance of Test class Test obj = new Test(); ) ) class Main ( public static void main(String() args) ( // call the instanceMethod() Test.instanceMethod(); ) )

Đầu ra

 Đây là một phương thức khởi tạo riêng.

Trong ví dụ trên, chúng ta đã tạo một phương thức khởi tạo riêng của Testlớp. Do đó, chúng ta không thể tạo một đối tượng của Testlớp bên ngoài lớp.

Đây là lý do tại sao chúng ta đã tạo một public staticphương thức có tên instanceMethod()bên trong lớp được sử dụng để tạo một đối tượng của lớp Test. Và từ Mainlớp, chúng ta gọi phương thức bằng cách sử dụng tên lớp.

Ví dụ 2: Thiết kế Java Singleton sử dụng phương thức khởi tạo riêng

Mẫu thiết kế Java Singleton đảm bảo rằng chỉ nên có một thể hiện của một lớp. Để đạt được điều này, chúng tôi sử dụng hàm tạo riêng.

 class Language ( // create a public static variable of class type private static Language language; // private constructor private Language() ( System.out.println("Inside Private Constructor"); ) // public static method public static Language getInstance() ( // create object if it's not already created if(language == null) ( language = new Language(); ) // returns the singleton object return language; ) public void display() ( System.out.println("Singleton Pattern is achieved"); ) ) class Main ( public static void main(String() args) ( Language db1; // call the getInstance method db1= Language.getInstance(); db1.display(); ) )

Đầu ra

 Inside Private Constructor Singleton Pattern đạt được

Trong ví dụ trên, chúng ta đã tạo một lớp có tên là Languages. Lớp chứa,

  • ngôn ngữ - privatebiến kiểu lớp
  • Ngôn ngữ () - hàm privatetạo
  • getInstance () - public staticphương thức kiểu lớp
  • publicphương thức display () -

Vì hàm tạo private, chúng ta không thể tạo các đối tượng của Ngôn ngữ từ lớp bên ngoài. Do đó, chúng ta đã tạo một đối tượng của lớp bên trong getInstance()phương thức.

Tuy nhiên, chúng tôi đã đặt điều kiện theo cách chỉ một đối tượng được tạo. Và, phương thức trả về đối tượng.

Lưu ý dòng,

 db1 = Language.getInstance();

Đây,

  • db1 là một biến kiểu Ngôn ngữ
  • Language.getInstance () - gọi phương thứcgetInstance()

Vì, getInstance()trả về đối tượng của lớp Ngôn ngữ, biến db1 được gán với đối tượng được trả về.

Cuối cùng, chúng ta đã gọi display()phương thức bằng cách sử dụng đối tượng.

thú vị bài viết...