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 comment