Bu yazımızda değişken
tanımlamalarından, neyin nerde tanımlanabileceği ve ne kadar süre varlığını
sürdürebilir gibi sorulara cevap vermeye çalışacağız. Şimdi konumuza bir kod
örneği ile devam edelim.
class Sinif {
static int count = 20; // static
değişken, her yerde geçerlidir
String s; // instance değişken,
staticten sonra en kapsamlı değişken
//new operatörü ile kullanılır
int i; // instance variable –
yukarıdaki String ile aynı tanımlama
void coolMethod() {
int
k = 25; // local (yerel) değişken, sadece bu metodda
for
(int t = 0; t < 10; t++)
k += k + t; // block variable, sadece
bu blokta
}//metod
}//sinif
Daha önceki
yazılarımızda söylemiştik , static olmayan değişkenleri static olan yerden
çağıramıyoruz. Yani ne demek istiyoruz derseniz, şöyle:
public static void main(String[] args) {
//
s="error"; // yukarıdaki kodda s tanımlanmış olduğu halde hata
verir
//sebebi ise new operatörü ile ancak çağırabilmesidir
Sinif sinif= new Sinif();
npe.s="run"; //burada doğru bir şekilde çalışır
count=5;
// burada herhangi bir hata olmayacaktır. Çünkü count statictir
}
Şimdi de değişkenlerin değer atanmadan önceki hallerini
inceleyecek olursak ;
Bildiğiniz gibi 2 çeşit değişken vardı. Primative (ilkel) ve
nesneler vardı
İnt,long,short,byte = 0
Float,doube=0.0
Boolean=false
Char=’\u0000’
Tüm nesneler ise = null olur.
Hatırlatacağımız bir nokta daha instance olan değişkenler
değer atanmandan da kullanabilir. Çünkü otomatik olarak null değer atanır. Aynı
şeyler diğer tipteki değişkenler için de geçerlidir. Fakat local olan
değişkenler kesinlikle tanımlanmalıdır. Yani ;
class NPE {
String s; // instance variable
public static
void main(String[] args) {
String h;
//System.out.println(h); burada hata veriyorken, o nedenle localler
kesinlikle tanımlanmalı
NPE npe=
new NPE();
System.out.println(npe.s); //burada null değeri verir. Çünkü otomatik
tanımlama vardır
}
}
Hiç yorum yok:
Yorum Gönder