Dalam contoh ini, kita akan belajar menerapkan konstruktor swasta di Java.
Untuk memahami contoh ini, anda harus mempunyai pengetahuan mengenai topik pengaturcaraan Java berikut:
- Pembina Java
- Singleton Java
Contoh 1: Program Java untuk membuat pembina peribadi
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(); ) )
Pengeluaran
Ini adalah pembina peribadi.
Dalam contoh di atas, kami telah membuat pembina Test
kelas peribadi. Oleh itu, kita tidak dapat membuat objek Test
kelas di luar kelas.
Inilah sebabnya mengapa kami telah membuat public static
kaedah yang dinamakan instanceMethod()
di dalam kelas yang digunakan untuk membuat objek kelas Uji. Dan dari Main
kelas, kami memanggil kaedah menggunakan nama kelas.
Contoh 2: Reka bentuk Java Singleton menggunakan pembina peribadi
Corak reka bentuk Java Singleton memastikan bahawa hanya ada satu contoh kelas. Untuk mencapai ini, kami menggunakan pembina peribadi.
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(); ) )
Pengeluaran
Corak Singleton Pembina Dalam Swasta dicapai
Dalam contoh di atas, kami telah membuat kelas bernama Languages. Kelas mengandungi,
- bahasa -
private
pemboleh ubah jenis kelas - Bahasa () -
private
pembina - getInstance () -
public static
kaedah jenis kelas - paparan () -
public
kaedah
Oleh kerana konstruktornya private
, kita tidak dapat membuat objek Bahasa dari kelas luar. Oleh itu, kami telah membuat objek kelas di dalam getInstance()
kaedah tersebut.
Namun, kami telah menetapkan syarat sedemikian rupa sehingga hanya satu objek yang dibuat. Dan, kaedah mengembalikan objek.
Perhatikan garis,
db1 = Language.getInstance();
Di sini,
- db1 adalah pemboleh ubah jenis Bahasa
- Language.getInstance () - memanggil kaedah
getInstance()
Sejak, getInstance()
mengembalikan objek kelas Bahasa, pemboleh ubah db1 diberikan dengan objek yang dikembalikan.
Akhirnya, kami telah memanggil display()
kaedah menggunakan objek.