Java'da Object Reference değişkeni nedir? Nesne Referans Değişkeni nedir?
referans değişken nesnenin bellek adresini tutar mı?Kafam karıştı. Lütfen açıkla.
Java'da Object Reference değişkeni nedir? Nesne Referans Değişkeni nedir?
referans değişken nesnenin bellek adresini tutar mı?Kafam karıştı. Lütfen açıkla.
ben düzgün bu cevap zerafet var, ama emin değilim ...
evet Nesne başvurusu, gerçek nesne Java
tüm nesneler, örneğin
Object o = "foo";
Yukarıdaki örnek bir referans yer alır
için referans olarak anılır bellek yerini tutan değişkendir o, "foo" nesnesine.
Nesne Referans değişken java nedir yaşam döngüsü dışında noktası farklı konumlara yoluyla değişebilir ve?
Basitçe, bu tip olan bir nesne türü olan bir değişkendir; yani, java.lang.Object
ya da java.lang.Object
alt tipi olan bir tür.
referans değişken nesnenin bellek adresini tutuyor mu?
Muhtemelen evet, ama muhtemelen hayır.
Bu JVM nesne başvurularını temsil bağlıdır. Çoğu JVM'de, nesne başvurusu , bir bellek adresi veya işaretçisi kullanılarak sahnelerin arkasında temsil edilen'dur. Ancak da diziye bir dizin olarak gösterilebilir ... ya da başka bir şey. (Aslında, bir nesne referansı aslında işaretçiler bir diziye bir indeks oldu deneysel JVM ile etrafında haberci oldum.)
noktasıdır Java nesnesi referansları tasarlanmış-gizlemek olan bir soyutlama olduğunu Sizden temsil/uygulama detayları. Asıl temsil sizi ilgilendirmez ... çünkü saf Java'da program yapmanın önemi yoktur. Saf Java'da gerçek hafıza adresini tutamazsın ... ve bu iyi bir şey. JVM (özellikle çöp toplayıcı), bir nesnenin gerçek hafıza adresini size söylemeden değiştirebilir. Bir uygulama nesne adresleri elde edebilir ve kullanabilirse, bununla başa çıkmak gerekir ve temel olarak zor bir problemdir.
Nesne Referans değişken sadece c pointer ancak tam olarak bir işaretçi gibi.
JRE'ye bağlı olarak, JRE, bir işaretçi gibi ve işaretçiye işaretçi olarak muamele edilen başka bir JRE gibi bazı JRE sağlar.
refernce variable just define a way to reach your object
. Java platform bağımsız bir dildir, böylece bellek yönetimi farklı cihazlarda farklıdır, bu yüzden nesneye ulaşmak için benzersiz bir yol vermesi zordur.
Bu güzel ve temiz –
Yani referans değişkeninin türü, Nesne türü veya bunun alt sınıfı ise, s1'in "String s1 = new String (" string "); Ayrıca bu kod hafızada "string" için iki nesne s1 ve nesne yaratacaktır? – Dexter
1) Kesinlikle hayır. 's1 bir değişkendir. 's1' * * bir nesne referansı içerir, 2) Hayır, çünkü' s' bir nesne değildir; bakınız 1) –