課程
/后端開發(fā)
/Java
/Java入門第三季
是不是等號左邊是句柄,句柄要聲明類型。右邊是對象,對象的話,直接調(diào)用句柄就可以使用?
也就是說,多臺的話,父類型的句柄可以指向子類對象,子類型的句柄要強轉(zhuǎn)之后才能表示父類型的對象?
2017-07-27
源自:Java入門第三季 4-8
正在回答
謝謝你的建議。符合條件就做什么沒有就做什么,else沒有條件
在java中對象是一個很抽象的概念!對象是以它的實例的形式存在的。 聲明了一個類型的變量也就是聲明了一個該類型的對象。但是這個對象只是一個抽象的概念,并不會在內(nèi) 存中存在,只有實例化這個對象之后,才會在內(nèi)存中分配空間。 可以這么理解 :聲明了一個int a 但并沒有初始化它,它就不會具有值。只有a=0這樣初試化a之后,a才 具有0這個值。 實例化對象時就會產(chǎn)生一個指向該對象的這個實例的句柄。 以此為例: class value{ ?int i; } public class EqualsMethod{ ?public static void main(string[] args){ ? value v1=new value(); ? value v2=new value(); ? vl.i=v2.i=100; ?} } 在class EqualsMethod 中value v1=new value(); ?????????????????????? value v2=new value(); 這2行首先value v1??? value v2 聲明了v1,v2 2個value類型的對象。 然后用new運算符實例化了v1,v2兩個對象。 而v1,v2這兩個標識符,代表的分別是兩個指向?qū)ο髮嵗木浔?br /> 然而當v1.i時我使用的v1這個標識符,并不是對象,我們無法直接操縱對象實例 v1是指向這個對象的句柄,v2也是一樣。我們通過句柄訪問對象實例。 所以在這里v1,v2是句柄,它們所指向的對象我們是看不見的。
舉報
Java中你必須懂得常用技能,不容錯過的精彩,快來加入吧
1 回答HashSet與HashMap有什么區(qū)別?
1 回答對象 和 object 區(qū)別?
3 回答java中類對象和類的對象有啥區(qū)別
2 回答==與equals的區(qū)別是什么
1 回答struts2標簽與HTML標簽有什么區(qū)別
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學習伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2022-03-26
謝謝你的建議。符合條件就做什么沒有就做什么,else沒有條件
2017-07-27
在java中對象是一個很抽象的概念!對象是以它的實例的形式存在的。
聲明了一個類型的變量也就是聲明了一個該類型的對象。但是這個對象只是一個抽象的概念,并不會在內(nèi)
存中存在,只有實例化這個對象之后,才會在內(nèi)存中分配空間。
可以這么理解 :聲明了一個int a 但并沒有初始化它,它就不會具有值。只有a=0這樣初試化a之后,a才
具有0這個值。
實例化對象時就會產(chǎn)生一個指向該對象的這個實例的句柄。
以此為例:
class value{
?int i;
}
public class EqualsMethod{
?public static void main(string[] args){
? value v1=new value();
? value v2=new value();
? vl.i=v2.i=100;
?}
}
在class EqualsMethod 中value v1=new value();
?????????????????????? value v2=new value();
這2行首先value v1??? value v2
聲明了v1,v2 2個value類型的對象。
然后用new運算符實例化了v1,v2兩個對象。
而v1,v2這兩個標識符,代表的分別是兩個指向?qū)ο髮嵗木浔?br />
然而當v1.i時我使用的v1這個標識符,并不是對象,我們無法直接操縱對象實例
v1是指向這個對象的句柄,v2也是一樣。我們通過句柄訪問對象實例。
所以在這里v1,v2是句柄,它們所指向的對象我們是看不見的。