Yazarlar Sözlük Makaleler Yardım Masası Gözlük Forum İstatistik

Tüm Başlıklar XML

1.  java'da sınıf* tanımlarında kullanılabilen özel kod bloku. sınıf içerisinde herhangi bir tanım yapmadan { } karakterleri arasına yazacağınız kodlar sınıf tanımlandığında çalıştırılır. örnek verelim:

public class Point{
    int x;
    int y;

    { // initialization block başlangıcı
        x = 0;
        y = 0;
    } // initialization block bitişi
   
    public Point(int fX, int fY){
        x = fX;
        y = fY;
    }
  
}


yukarıdaki kod örneğinde herhangi bir fonksiyona ait olmayan kod bloku initialization blok olarak geçer. class'ı ilk tanımladığımızda çalışır. fakat yukarıdaki örnekte initialization blok kullanılmadan da class tanımlanıp değişkenlerin değeri atanabilir.

public class Point{
    int x = 0;
    int y = 0;

    // ...
    // ...
}


yukarıdaki kodda da initialization blok kullanılmadan değişkenlere değer ataması yapılabiliyor. üstelik iki kod aynı şekilde çalışır. fakat initialization blok'un faydası ne?

initialization block içerisinde değişkenlere değer atamanın yanı sıra for döngüleri, vb. gibi statement'ler çalıştırılabilir.

public class Point{
    int[] values;

    { // initialization block başlangıcı
        values = new Integer[5];
       
        for(int i=0; i<5; i++){
             values[i] = 0;
        }
    } // initialization block bitişi
   
    public Point(int fX, int fY){
        x = fX;
        y = fY;
    }
  
}

bateristt
28 Aralık 2006 16:01 ~ 28 Aralık 2006 17:00
Bu konuda bildiklerinizi bizlerle paylaşabilirsiniz
Tabi bunun için yazarsanız giriş yapmalı, yazar değilseniz yazar olmalısınız.
© 2005, Bilişim Kulübü. (1062 ms)
Ne yapabilirsin: SubtitleClick ile İngilizceni Geliştir, Çınar Framework ile kod yaz, Eglencelik.org'ta biraz eğlen