Özel kurucuları uygulamak için Java Programı

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ırgetInstance()

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 .

Ilginç makaleler...