Java’da en son tanımlanan geçerlidir kuralı vardır. İki değişken tanımladık diyelim. Sonra bu değişkene bir değer atayacağız. Hangisi alır bu atadığımız değişken derseniz en sonra tanımlanan kısımdaki değişken alır.
public class thisClass { int yas; char ad; char soyad; public thisClass(){ System.out.println("Alttaki constructure daki this() çalıştı."); } public thisClass(int yas, String ad, String soyad){ this(); // üstteki constructorı bu şekilde çağırabilirim buradan. System.out.println("Mainden gelen yaş değeri = " + yas); yas = 24; // bir üst satırdaki constructer içindeki yaş değişkenine gider. System.out.println("this olmayan yaş değeri = " + yas); this.yas = 55; // en üstte clas içinde tanımlanan yaş dğeişkenine gider. // this ile en üstteki class içindeki değişkenlere erişiriz. } public static void main(String[] args){ thisClass x = new thisClass(45, "hakan", "murat"); System.out.println("this ile atanan yaş değeri = " + x.yas); } }
Çıktısı:
Mainden gelen yaş değeri = 45
this olmayan yaş değeri = 24
this ile atanan yaş değeri = 55