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;