logo

Java'da Referans Veri Türleri

Java iki tür sağlar

Java Referans Türleri

Java'da aşağıdaki beş tür referans türü vardır:

Referans Türü Tanım
Sınıf Bu bir dizi talimattır. Nesnenin içeriğini açıklar.
Sıralamak Aynı türdeki elemanların saklandığı sabit boyutlu veri yapısını sağlar.
Ek açıklamalar Meta verileri program öğeleriyle ilişkilendirmenin bir yolunu sağlar.
Arayüz Java sınıfları tarafından uygulanır.
Numaralandırma Tür açısından güvenli özel bir sınıf türüdür. Enum içindeki her öğe o enumun bir örneğidir.

Referans ve Temel Veri Türleri

Referans Türü İlkel Tip
String dışında önceden tanımlanmamıştır. Java'da önceden tanımlanmıştır.
Tüm referans türleri Büyük harfle başlar. Tüm ilkel türler küçük harfle başlar.
İlkel olmayan türlerin tümü aynı boyuta sahiptir. İlkel türün boyutu veri türüne bağlıdır.
Yöntemleri çağırmak veya çağırmak için kullanılır. Yöntemi ilkel bir türle çağıramayız.
Boş olabilir. Boş olamaz. Her zaman bir değeri vardır.
Referans veri türlerine örnek olarak sınıf, Diziler, Dize, Arayüz vb. verilebilir. İlkel veri türlerine örnek olarak int, float, double, Boolean, long vb. gösterilebilir.
JVM, varsayılan olarak her referans değişkeni için 8 bayt ayırır. Boyutu veri türüne bağlıdır.
Örnek : Demo d1; Örnek : int sayı=78;

Bellek Tahsisi ve Çöp Toplama

Java'da, yeni anahtar kelime bir oluşturmak için kullanılır misal sınıfın. Başka bir deyişle, tahsis ederek bir sınıfı başlatır. hafıza yeni bir nesne için ve bu belleğe bir referans döndürmek. Nesneler Java yığın alanında belleği kaplar. Ayrıca new anahtar sözcüğünü de kullanabiliriz. dizi nesnesi .

 ClassName objectName = new ClassName(); 

Bir nesneye herhangi bir başvuru yoksa, o nesnenin kullandığı bellek, çöp toplama işlemi sırasında geri kazanılabilir.

Temel Tip ve Referans Tip Arasında Dönüşüm

İlkel tipin referans tipine dönüştürülmesine denir otomatik kutulama ve referans tipinin ilkel tipe dönüştürülmesine denir kutu açma .

Referans Türünü Karşılaştırma

Java'daki referans türlerini de karşılaştırabiliriz. Java, referans türlerini karşılaştırmak için iki yol sunar:

Eşit (==) operatörünü kullanarak

Nesnelerin hafıza konumlarını karşılaştırır. Her iki nesnenin hafıza adresi (referansı) aynı ise nesneler eşittir. Nesnenin içeriğini karşılaştırmadığını unutmayın. Örneğin:

 Demo d1 = new Demo('Atlanta'); //creating a reference of Demo class Demo d2 = d1; //assigning the reference d1 into d2 if(d1=d2) //comparing reference 

String.equals() Yöntemini kullanarak

Yöntem şuraya aittir: Sicim sınıf. geçersiz kılar eşittir() yöntemi Nesne sınıf . Ayrıca referans türünü karşılaştırmak için eşit operatörünü (==) kullanır. Örneğin aşağıdaki kod parçacığını göz önünde bulundurun:

 String str1='JAVA'; String str2='JAVA'; String str3='java'; System.out.println(str1.equals(str2)); //returns true because content and case is same System.out.println(str1.equals(str3)); //returns false because case is not same 

Referans Türü Kopyalanıyor

Referans türlerini kopyaladığımızda iki olasılık vardır; ya bir nesneye yapılan referansın bir kopyası yapılır ya da nesnenin gerçek bir kopyası (yeni bir kopya oluşturularak) yapılır.

Aşağıdaki örnekte nesneye bir referans atadık. Nesnede herhangi bir değişiklik yaparsak, bu aynı zamanda referansı da yansıtacaktır ve bunun tersi de geçerlidir.

 Sum s1 = new Sum(); Sum s2= s1;