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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

class Kalem {<br />

}<br />

public class BosFinal {<br />

final int a = 0;<br />

final int b; // Bos final<br />

final Kalem k;<br />

// Blank final nesne alanı<br />

// Bos final alanlar ilk değerlerini yapılandırıcılarda içerisinde alırlar<br />

BosFinal() {<br />

k = new Kalem();<br />

b = 1; // bos final alanına ilk değeri ver<br />

}<br />

BosFinal(int x) {<br />

b = x; // bos final alanına ilk değeri ver<br />

k = new Kalem();<br />

}<br />

}<br />

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

BosFinal bf = new BosFinal();<br />

}<br />

BoĢ final alanlara ilk değerleri yapılandırıcıların içerisinde verilemelidir; statik olan global alanlar boĢ<br />

final olma özelliğinden yararlanamazlar. ()<br />

5.6.4. final Yordamlar<br />

Türetilen alt sınıfların, türetildikleri ana sınıflar içerisindeki eriĢilebilir olan yordamları iptal edebildiklerini<br />

(override) biliyoruz. Ana sınıf içerisindeki bir yordamın, alt sınıflar tarafından iptal edilmesi istenmiyorsa,<br />

o yordamı final yaparak korunabilir. Kısacası final yordamlar iptal edilemezler. ()<br />

Örnek-5.22: FinalMetod.java ()<br />

class A {<br />

public final void ekranaYaz() {<br />

System.out.println("A.ekranaYaz()");<br />

}<br />

}<br />

class B extends A {<br />

public void ekranaYaz() {<br />

System.out.println("B.ekranaYaz()");<br />

}<br />

}<br />

A sınıfına ait ekranaYaz() yordamı, A sınıfından türetilmiĢ B sınıfının ekranaYaz() yordamı<br />

tarafından iptal edilemez (overriding). FinalMetod.java örneğini derlemeye çalıĢtığımızda aĢağıdaki hata<br />

mesajını alırız: ()<br />

132

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

Saved successfully!

Ooh no, something went wrong!