Veysel Uğur KIZMAZ

Java Final Kullanımı

27.03.2012Okunma Sayısı: 9696Kategori: Java

 Bu makalemizde Java’da Final anahtar kelimesinin ne anlama geldiğini ve nerelerde kullanıldığını inceleyeceğiz.

Java’da final denince ilk akla değiştirilemez (this cannot be changed) anlamı gelmektedir.
 
 
final anahtar kelimesinin nasıl kullanılacağını inceleyelim:
1. Final Sınıflar :  Final sınıfları extend edilemez.
2. Final Methodlar : Final methodların final parametrelerinin değerleri değiştirilemez. Kullanım amacı : Performans ve tasarım
3. Final Değişkenler : Sadece bir kere ve oluşturma sırasında değer ataması yapılır.
Şimdi tek tek bu işlemleri inceleyelim.
 
 
1. Final Sınıflar
Dikdortgen isminde bir final sınıfımız olsun. Bu sınıfı extend eden (genişleten) Kare sınıfımız olsun.
public final class Dikdortgen {
 
}
class Kare extends Dikdortgen{
     
}
 
Yazdıktan sonra hatayla karşılaştık :
Hatada, Kare sınıfının Dikdortgen sınıfının kalıtımını alamayacağını söylemektedir.
 
2. Final Methodlar
Matematik isminde bir sınıfımız olsun. Bu sınıfımızda Topla isminde bir final methodumuz ve 2 tane integer parametremiz olsun. Method içinde bu methodların değerlerini değiştirmeyi deneyelim.
class Matematik{
      public final void Topla(int sayi1,int sayi2){
            sayi1 = 10;
            sayi2 = 20;
      }
}
 
Herhangi bir hata vermedi, çünkü parametreler final olarak tanımlanmadı.
Şimdi Islem isminde bir sınıf oluşturalım ve bu sınıfı Matematik sınıfı ile extend edelim.
class Matematik{
      public final void Topla(int sayi1,int sayi2){
            sayi1 = 10;
            sayi2 = 20;
      }
}
class Islem extends Matematik{
      publicvoid Islemx(){
            super.Topla(10, 20);
      }
}
 
Herhangi bir hata ile karşılaşmadık. Yani final methodlar kalıtımda kullanılabilmektedir.
Son olarak, Islem sınıfının kalıtımını kaldıralım ve Matematik sınıfına geri dönelim, şu şekilde düzenleyelim.
class Matematik{
      public final void Topla(finalint sayi1,int sayi2){
            sayi1 = 10;
            sayi2 = 20;
      }
}
 
sayi1 değişkenini final tanımlıyoruz. Başlangıçta final methodların final değişkenlerinin değerlerinin değişemeyeceğini söylemiştik ve hatayla karşılaşıyoruz.
 
3. Final Değişkenler :
public class Dikdortgen {
      public final String isim = "Veysel Uğur Kızmaz";
 
}
 
 
Veysel Uğur KIZMAZ
Bilgisayar Mühendisi
veysel@ugurkizmaz.com
www.ugurkizmaz.com
twitter: 
@vukizmaz