Bu örnekte, Java'da özel oluşturucuları uygulamayı öğreneceğiz.
Bu örneği anlamak için, aşağıdaki Java programlama konuları hakkında bilgi sahibi olmalısınız:
- Java Oluşturucuları
- Java Singleton
Örnek 1: Özel bir kurucu oluşturmak için Java programı
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(); ) )
Çıktı
Bu özel bir kurucu.
Yukarıdaki örnekte, Testsınıfın özel bir kurucusunu oluşturduk . Bu nedenle, Testsınıfın dışında sınıfın bir nesnesini yaratamayız .
Bu nedenle , Test sınıfının bir nesnesini oluşturmak için kullanılan sınıfın içinde public staticadlandırılmış bir yöntem oluşturduk instanceMethod(). Ve Mainsınıftan, sınıf adını kullanarak yöntemi çağırıyoruz.
Örnek 2: Özel bir kurucu kullanarak Java Singleton tasarımı
Java Singleton tasarım şablonu, bir sınıfın yalnızca bir örneği olmasını sağlar. Bunu başarmak için özel kurucuyu kullanıyoruz.
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(); ) )
Çıktı
Inside Private Constructor Singleton Pattern elde edildi
Yukarıdaki örnekte, Diller adında bir sınıf oluşturduk. Sınıf şunları içerir:
- dil - sınıf türü
privatedeğişkeni - Dil () -
privateyapıcı - getInstance () -
public staticsınıf türü yöntemi - display () -
publicyöntem
Yapıcı olduğundan private, dış sınıftan Language nesnelerini oluşturamayız. Dolayısıyla, getInstance()yöntemin içinde sınıfın bir nesnesini oluşturduk .
Bununla birlikte, koşulu sadece bir nesnenin yaratılacağı şekilde ayarladık. Ve yöntem nesneyi döndürür.
Çizgiye dikkat edin,
db1 = Language.getInstance();
Buraya,
- db1 , Dil türünün bir değişkenidir
- Language.getInstance () - yöntemi çağırır
getInstance()
Beri getInstance()Dil sınıfının nesnesi döndüren, db1 değişken döndürülen nesne ile atanır.
Son olarak, display()nesneyi kullanarak yöntemi çağırdık .








