Merhaba Arkadaslar,
Bu yazimda Java’da constructor/ yapilandirici kavramindan bahsedecegim.
Javada , yeni bir obje olusturuldugunda constructor/yapilandirici calistirilir/invoke , sinifin kendi yapilandiricisinin yaninda superclass’in yapilandiricisi da calisir detaylar biraz asagida olacak.
Peki yapilandirici ne zaman calisacaktir ? new anahtar kelimesini kullandigimizda yapilandirici calisacaktir. Bir de serilestirme yapisinda calismaktadir fakat bu konuya bir hayli ilerde gelecegiz. Biz basit temeller ile baslayalim ;
Basit Temeller
- Abstract/soyut siniflar dahil tum siniflarin yapilandiricisi/constructor olmak zorundadir.
- Yapilandiri/constructor olmasi zorunlulugu tanimlanmak zorunda oldugu anlamina gemez.
- Eger bir sinif icin yapilandirici/constructor tanimlamazsak otomatik olarak varsayilan yapilandirici gizli olarak tanimlanir.
- Varsayilan yapilandirici herhangi bir parametre almaz. Varsayilan yapilandiriciyi biz kendimiz de tanimlayabiliriz.
class A { // A(){} A sinifina ait varsayilan yapilandirici }
- Eger kendimiz bir yapilandirici tanimlarsak , varsayilan yapilandirici otomatik olarak tanimlanmaz.
public class A { int x; int y; public A(int x, int y) { this.x = x; this.y = y; } public static void main(String[] args) { A a = new A(10,20); //A a2 = new A(); derleme hatasi } }