"Enter"a basıp içeriğe geçin

Scope ve Final

Kod bloğu (scope) nedir

Kod bloğu oluşturduğuz şartlı ifadelerde, sınıflarda veya fonksiyonlarda o oluşturduğumuz yapının sınırlarını belirleyen bloklardır.

örneğin public static void main(String[] args) { } dediğimizde, fonksiyonun sınırları { } işaretleri arasında kalan yerdir.

Bir fonksiyon veya döngü çağırıldığında, o blok içindeki tüm komutlar çalışana kadar blok devam eder. Bir bloğun için de oluşturulan yerel değişkenler sadece o blok içinde tanımlıdır. Bloktan çıkılınca hafızada o bloğa özgü her şey silinir.

Eğer iç içe bloklar varsa, dıştaki blokta tanımlı değişkenler alttaki bloğa geçebilir. Eğer üstte bulunan bir değişkeni alt blokta yeniden tanımlarsak alt bloktaki üstten geleni baskılayacaktır.

Döngü bloğunun içinde tanımlanan değişkenler bloktan her çıkıldığında silinir.

Sonuç olarak değişkenler oluşturuldukları blokla sınırlıdır. Dış bloktaki değişkeni (i) iç blokta kullanabiliriz. Veya iç blokta yeniden tanımlayabiliriz. Ancak iç bloktaki değişken (j) dış blokta kullanılamaz.
j değişkenini yazdırmak için dış blokta tanımlamamız gerekir.

şimdi oldu.

Bu kural if ve fonksiyon bloklarında da geçerlidir.

Final

Final ile belirlenen değer bir daha değiştirilemez. Ya değişken tanımlanırken, ya da constructor içinde değer verilebilir.

Eğer bir sınıfta final değişken varsa, default constructor ile değer verilemez. Kendimiz constructor tanımlamamız gerekir.

Final ifadeler için setter yazılamaz.

 

    Bir cevap yazın

    E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir