06.03.2015 Views

Java Kitabı

JAva`nın çalışma mantığıyla başlayıp basitten gelişmişe iyi bir kaynak

JAva`nın çalışma mantığıyla başlayıp basitten gelişmişe iyi bir kaynak

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Final özelliğinin etkisi, ilkel tipteki alanlar ve sınıf tipindeki alanlar farklıdır. Yukarıdaki örneğimizi<br />

incelerseniz, X_SABIT_DEGER, Y_SABIT_DEGER, A_SABIT_DEGER alanları hep ilkel tipteydi; yani<br />

değerlerini kendi üzerlerinde taĢıyorlardı. Kutu tipinde k alanımızı final yaptığımızda olaylar biraz<br />

değiĢir, Kutu sınıfı tipindeki k alanını final yaparak, bu alanın baĢka bir Kutu nesnesine tekrardan<br />

bağlanmasına izin vermeyiz ama Kutu sınıfı tipindeki k alanının bağlı olduğu nesnenin içeriği değiĢebilir.<br />

Uygulamanın sonucu aĢağıdaki gibi olur: ()<br />

X_SABIT_DEGER = 34<br />

Y_SABIT_DEGER = 35<br />

A_SABIT_DEGER = 39<br />

Kutu.i = 35<br />

5.6.2. Final Parametreler<br />

Yordamlara gönderilen parametre değerlerinin değiĢmemesini istiyorsak, bu parametreleri final<br />

yapabiliriz. ()<br />

Örnek-5.19: FinalParametre.java ()<br />

public class FinalParametre {<br />

public static int topla(final int a , final int b) {<br />

// a = 5 ! Hata !<br />

// b = 9 ! Hata !<br />

return a+b;<br />

}<br />

public static void main(String args[] ) {<br />

if ( (args.length != 2 ) ) {<br />

System.out.println("Eksik veri Girildi") ;<br />

System.exit(-1); // Uygulamayi sonlandir<br />

}<br />

}<br />

}<br />

int a = Integer.parseInt(args[0]);<br />

int b = Integer.parseInt(args[1]);<br />

int sonuc = FinalParametre.topla(a,b);<br />

System.out.println("Sonuc = " + sonuc );<br />

Bu uygulamamız, dıĢarıdan iki parametre alarak bunları ilkel olan int tipine çeviriyor. Eğer dıĢarıdan<br />

eksik veya fazla parametre girilmiĢ ise kullanıcı bu konuda uyarılıyor. Daha sonra elimizdeki değerleri<br />

FinalParametre sınıfının statik olan topla() yordamına gönderiyoruz. Bu yordama gönderilen<br />

parametrelerin değiĢtirilmesi, final ifadeden dolayı imkansızdır. ()<br />

5.6.3. Boş (Blank) Final<br />

<strong>Java</strong>, final olan nesneye ait alanlara ilk değeri verme konusunda acele etmez fakat final olan nesne<br />

alanları kullanılmadan önce ilk değerlerinin verilmiĢ olması Ģarttır. ()<br />

Örnek-5.20: BosFinal.java ()<br />

131

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!