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.

7.2.1.3. Statik Dahili Üye Sınıflar<br />

Statik (static) olarak tanımlanmıĢ dahili üye sınıflar, normal dahili üye sınıflardan farklıdırlar. Bu<br />

farklılıklar Ģöyledir: ()<br />

Statik dahili üye sınıfına ait nesne oluĢturmak için, onu çevreleyen sınıfa ait bir nesne oluĢmak<br />

zorunda değilizdir. ()<br />

Statik dahili üye sınıflar, kendilerini çevreleyen sınıfa ait bağlantıyı (-this-) kaybederler . ()<br />

Statik dahili üye sınıflar, onları çevreleyen üst sınıfa ait global alanlara (statik veya değil) ve yordamlara<br />

(statik veya değil) direk ulaĢım Ģansını kaybeder. Bunun sebebi, kendisini çevreleyen sınıf ile arasındaki<br />

bağı kopartmıĢ olmasıdır. Buraya kadar ifade edilenleri örnek üzerinde inceleyelim, ama öncesinde UML<br />

diyagramı çizilirse... ()<br />

Şekil-7.8. Statik Dahili Üye Sınıflar<br />

Hesaplama4 sınıfının içerisinde, 2 adet dahili üye sınıf oluĢturulacaktır; fakat bu dahili üye sınıflardan biri<br />

statik olarak tanımlanacaktır. Bu örnekte statik tanımlanacak olan dahili üye sınıf, Toplama4 sınıfıdır.<br />

Toplama4 sınıfına ait bir nesne oluĢturulmak istenirse, bunun hemen öncesinde Hesaplama4 sınıfına ait bir<br />

nesne oluĢturulmaz. UML diyagramı <strong>Java</strong> uygulamasına dönüĢtürülürse... ()<br />

Örnek: Hesaplama4.java ()<br />

public class Hesaplama4 {<br />

int sabit = 2 ;<br />

private int ozelsabit = 1 ;<br />

public static class Toplama4 { // Statik uye dahili sinif<br />

static int toplam ; // dogru<br />

int sonuc ; // dogru<br />

public int toplamaYap(int a, int b) {<br />

// return (a+b) + sabit ; ! Hata !<br />

sonuc = toplam = a+b ;<br />

184

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

Saved successfully!

Ooh no, something went wrong!