Java’da birden fazla anahtar kelime kullanılmaktadır. Bunlardan biri de this anahtar kelimesidir. This kelimesi, o anda hangi işlem üzerinde çalışılıyorsa o işlemin bağlı olduğu nesnenin referansını döndürür.
This anahtar kelimesi, hem global hem de yapılandırıcıda aynı isimle bir değişken kullanıldığında karışıklığı engellemek için kullanılır.
Örneğin;
public class this_ornekler { int OgrenciNo; String Ogrenciİsmi; public void Ogrenciler(int OgrenciNo, String Ogrenciİsmi) { this.OgrenciNo = OgrenciNo; this.Ogrenciİsmi = Ogrenciİsmi; }
NOT: Eğer public static void main kod bloğunda sınıfı tanımlamaz ve yazdırmazsak herhangi bir çıktı oluşmayacaktır.
Örneğin;
public class ThisKullanimi { int sayi=0; public ThisKullanimi SayiSay() { this.sayi++; return this; } public void Goster() { System.out.println("Sayı : "+ sayi); } public static void main(String[] args) { ThisKullanimi t=new ThisKullanimi(); t.SayiSay(); // Sayı = 1 t.SayiSay(); // Sayı = 2 t.SayiSay().SayiSay().SayiSay(); // Sayı = 3 Sayı = 4 Sayı = 5 t.Goster(); } }
Çıktımız:
Switch case yapılarıyla, tanımlanan sayıya göre konsolda değer okutmayı öğrenmiştik. Şimdi bu örneği bir de this yapılarıyla inceleyelim.
public class thiskullanımı { int ay=0; public void ay(int ay){ this.ay = ay; } public void ayGoster(){ switch(ay){ case 1: System.out.println("Ocak"); break; case 2: System.out.println("Şubat"); break; case 3: System.out.println("Mart"); break; case 4: System.out.println("Nisan"); break; case 5: System.out.println("Mayıs"); break; case 6: System.out.println("Haziran"); break; case 7: System.out.println("Temmuz"); break; case 8: System.out.println("Ağustos"); break; case 9: System.out.println("Eylül"); break; case 10: System.out.println("Ekim"); break; case 11: System.out.println("Kasım"); break; case 12: System.out.println("Aralık"); break; default: System.out.println("Tanımsız Değer"); break; } } public static void main(String[] args) { thiskullanımı t=new thiskullanımı(); // Bulunan Sınıf Adı Yazılmalı t.ay(6); t.ayGoster(); } }
Burada void main kod bloğunda, ay metodunu çağırırken 6. Ayı yazdırmasını istediğimiz için Haziran ayını yazdıracaktır.
Çıktımız:
NOT: Eğer public void ay metodunda, ay adlı değişkeni this kelimesi ile tanımlamasaydık bir diğer ifadeyle ay = ay olarak tanımlasaydık, ay adlı değişkenin değerini 0 olarak atayacak ve sonuç olarak da tanımsız değer çıktısını oluşturacaktır.
This anahtar kelimesinin kullanımı bu şekilde olacaktır. Soru çözümlerinde örneklerini yapmaya devam edeceğiz. İyi çalışmalar 🙂



Leave a Reply