Java Değişken Türleri: Final, Transient, Volatile ve Static
Herkese merhabalar,
Bugün sizler için daha önceki yazımızda bahsettiğimiz Java’daki değişkenlerin detaylarını inceleyeceğiz. Final, Transient, Volatile, Static variables (değişkenler) konularına detaylı olarak değineceğiz.
Final Variables (Final Değişkenleri)
Bir değişkeni final anahtar sözcüğüyle bildirmek, o değişkeni bir kez başlattıktan sonra tekrar değer atamanın imkansız olduğu anlamına gelir.
final int x = 10;
final olarak tanımlanmış bir nesne referansı farklı bir nesneye atanamaz. Ancak, nesnenin içindeki veriler değiştirilebilir.
Final Belirleyici Kullanımı
final class Haberler {}
// final sınıflar alt sınıf (subclass) olamazlar
Final Metotlar
class Arabalar {
final void hiz() {}
}
class HizliAraba extends Arabalar {
final void hiz() {} // HATA: final metot override edilemez
}
Final Değişken Örneği
class Zoo {
final int boy = 24;
void boyDegistir() {
boy = 26; // HATA: final değişkene yeniden değer atanamaz
}
}
Transient Değişkenler
transient olarak işaretlenen değişkenler, nesne serileştirilirken atlanır. Yani geçici (kaydedilmeyecek) değişkenlerdir.
class Veriler implements Serializable {
transient int y = 7;
static int z = 9;
}
Not: transient sadece değişkenlere uygulanabilir.
Volatile Değişkenler
volatile değişkenler, çoklu iş parçacıkları (threads) arasında değişkenin güncel değeri ile çalışmayı sağlar.
Bu sayede, değişkene her erişim bellekteki ana kopyadan alınır.
Not: synchronized ve volatile anahtar kelimeleri benzer amaçlarla kullanılır, ancak volatile sadece değişkenlere uygulanabilir.
Static Variables (Statik Değişkenler) ve Methods
static anahtar kelimesiyle tanımlanan üyeler sınıfa aittir, nesnelere değil. Sınıf oluşturulmadan önce bile erişilebilirler.
class Arac {
static int sayac = 0;
public Arac() {
sayac += 1;
}
public static void main(String[] args) {
new Arac();
new Arac();
new Arac();
System.out.println("Araç sayac: " + sayac);
}
}
// Çıktı: Araç sayac: 3
Sonuç
Bugünkü yazımızda Java’da kullanılan değişken türlerinden final, transient, volatile ve static değişkenlerin detaylarını inceledik. Bu değişken türleri, Java’nın object-oriented programming yaklaşımında önemli yer tutmaktadır.
Yazımızdaki örnekler ve daha fazlası sitemizde yer almaktadır: http://latestsoftwaredevelopers.com/
Bir sonraki yazımızda görüşmek üzere, takipte kalın!