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, Test
sınıfın özel bir kurucusunu oluşturduk . Bu nedenle, Test
sı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 static
adlandırılmış bir yöntem oluşturduk instanceMethod()
. Ve Main
sı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ü
private
değişkeni - Dil () -
private
yapıcı - getInstance () -
public static
sınıf türü yöntemi - display () -
public
yö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 .