Java’da Değişkenlerin Detayları

Herkese merhabalar,

Bugün sizler için Daha önceki yazımızda bahsetdiğimiz Java’daki değişkenlerin detaylarını inceleyeceğiz. Final,Transient,Volatile,Static variables(değişken) ların detaylarından bahsedeceğiz.

Final Variables(Final değişkenleri)

Bir değişkeni final anahtar sözcüğüyle bildirmek, o değişkeni açık(varsayılan) bir değerle başlatıldığında yeniden başlatmayı imkansız hale getirir.

Primitives(İlkeller) için bu, değişkene bir değer atandığında, değerin değiştirilemeyeceği anlamına gelir.

Örneğin, int değişkenine 10 atarsanız, x sonsuza kadar 10 olarak kalır.

final int x=10;

Final olarak işaretlenmiş bir referans değişkeni, farklı bir nesneye atıfta bulunmak için asla yeniden atanamaz.

Nesne içindeki veriler değiştirilebilir, ancak referans değişkeni değiştirilemez.Başka bir deyişle, bir final reference variable başvurduğu nesnenin durumunu değiştirmenize izin verir, ancak başvuru değişkenini farklı bir nesneye başvurması için değiştiremezsiniz.

Final belirleyicisinin sınıflara, yöntemlere ve değişkenlere nasıl uygulanabileceğini gösterelim.

final class Haberler{}

//final sınıflar sub class olamazlar

final class SporHaberleri extends Haberler{}

metotlar

class Arabalar

{

final void hiz(){}

}

//final metotlar subclasslara override edilemezler

class hizliAraba extends Arabalar{

final void hiz(){} //

}

//kod derlenmez

final variable

class Zoo{

final int boy = 24;

void boyDegistir(){

boy=26; //final değişken başka değere eşitlenemez.}

}

Transient Değişkenler

Bir örnek değişkenini transient olarak işaretlerseniz, JVM’ye, onu içeren nesneyi seri hale getirmeye çalıştığınızda bu değişkeni atlamasını (yok saymasını) söylersiniz.

Önemli Bilgi :Transient sadece variables(değişkenler) için uygulanır.

Serialization, Java’nın en havalı özelliklerinden biridir; durumunu yazarak bir objeyi kaydetmenize (bazen “flatten(düzleştirme)” denir) sağlar (başka bir deyişle, örnek değişkenlerinin değeri) özel bir I/O akışı tipine dönüştürülür.

Örnek verelim;

class Veriler implements Serializable {

transient int y = 7;

static int z = 9;

}

Volatile Değişkenler(Variables)

Volatile değişkenler, JVM’ye, değişkene erişen bir iş parçacığının, değişkenin kendi özel kopyasını her zaman bellekteki ana kopya ile uzlaştırması gerektiğini söyler.

Örnek değişkene(instance variables) birden çok iş parçacığının(multiple threads) erişmesi fikri anlaşılması zor bir şeydir ve herhangi bir Java programcısının anlaması için çok önemlidir.

Önemli Bilgiler:

Synchronization ve volatile birbiri yerine kullanılabilir.

Volatile sadece variables(değişkenler) için uygulanır.

Static Variables(değişkenler) and Methods(metotlar)

Statik değiştirici, sınıf için oluşturulan herhangi bir örnekten bağımsız olarak var olacak, değişkenler ve yöntemler yaratmak için kullanılır.

Tüm statik üyeler, siz bir sınıfın yeni bir örneğini oluşturmadan önce var olur ve o sınıfın örneklerinin sayısından bağımsız olarak statik bir üyenin yalnızca bir kopyası olur.

Başka bir deyişle, bir sınıfın tüm örnekleri, verilen herhangi bir statik değişken için aynı değeri paylaşır.

Static olarak işaretlenebilecekler

■metotlar

■değişkenler

■Initialization blocks

Static olarak işaretlenemeyecekler

■Constructors

■Classes

■Interfaces

■Method local inner classes

■Inner class methods and instance variables(sabit değişkenler)

■Local variables(lokal değişkenler)

Sınıfın statik üyelerini kullanmak için sınıf örneklerine gerek yoktur.

Statik bir değişkenin/sınıfın yalnızca bir kopyası vardır ve tüm örnekler onu paylaşır.

Statik yöntemlerin statik olmayan üyelere doğrudan erişimi yoktur.

Bir örnek vererek bitirelim.

class Arac {

static int sayac = 0;

// Declare and initialize

// static variable

public Arac() {

sayac += 1; // Modify the value in the constructor

}

public static void main (String [] args) {

new Arac();

new Arac();

new Arac();

System.out.println(“Araç sayaç “ + sayac);}

}

Kod derlendikten sonra sayac=0 olarak belirlenir.Daha sonra her oluşturulmada artırılır.

Kodun çıktısı

Araç sayaç 3

Yazımızdaki Kodlar ve daha fazlası sitemizde yeralmaktadır. http://latestsoftwaredevelopers.com/

Bugün değişkenleri inceledik. Umarız faydalı bir yazı olmuştur . Bir sonraki yazımızda görüşmek dileğiyle.Takip etmeyi unutmayın:)

Beğendiysen bir çay ısmarlayabilirsin ☕

Bana çay ısmarla

Java ile ilgili yorumlar

Yorum Paylaş

EMail Zorunlu alanlar * *