C#’da Static Constructer ne ise Java’da da o dur.
- İlgili sınıftan nesne üretilirken herşeyden önce tetiklenirler.
- İlk nesne talebinde static constructer tetiklenmekte, sonrakilerde tetiklenmemektedir.
- Yani o sınıftan sadece ilk nesne talebinde çalışmaktadır.
- Sadece bir classtan nesne yaratıldığında değil,o class içindeki herhangi bir static yapı ilk kullanıldığında da çalışır.
Java’da Static Constructer’ı aşağıdaki gibi tanımlayabilmekteyiz.
public class Ornek {
public Ornek() {
System.out.println("Örnek nesnesi oluşturuldu.");
}
static {
System.out.println("Ben static constructerım. Bir kere herşeyden önce oluşurum.");
}
}
static{ } komut bloğu static constructer anlamına gelmektedir.
Aşağıdaki gibi iki adet Ornek sınıfından nesne üretirsek eğer bakalım nasıl bir sonuçla karşılaşacağız.
public static void main(String[] args) {
new Ornek();
new Ornek();
}
Çıktı olarak aşağıdaki ekran görüntüsünü verecektir.
