




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
本文格式為Word版,下載可任意編輯——Java中傳值調(diào)用的理解和透析Java中傳值調(diào)用的理解和透析
本文實(shí)例分析了Java中的傳值調(diào)用。共享給大家供大家參考。概括分析如下:
Java以引用的方式操作對(duì)象實(shí)例
可以確認(rèn)的是Java中操作對(duì)象的方式是以引用的方式操作對(duì)象。為了更深刻的了解這點(diǎn)我寫了如下代碼:
首先定義一個(gè)自定義類型
復(fù)制代碼代碼如下:publicclassPerson
Stringname;
PersonStringname
=name;
這里name默認(rèn)是public哦(和C++中class的默認(rèn)屬性不一樣哦)
然后Main函數(shù)中的調(diào)用如下:
復(fù)制代碼代碼如下:publicclassMain
/**
*@paramargs
*/
publicstaticvoidmainString[]args
//TODOAuto-generatedmethodstub
Personp1=newPersonPaul;
Personp2=newPersonGriefen;
S=++=+;
Persontmp;
tmp=p1;
p1=p2;
S=++=++=+;
這時(shí)候的輸出結(jié)果如下:
復(fù)制代碼代碼如下:=P=Griefen
=P=G=Griefen
咦?為什么是這樣子一個(gè)結(jié)果呢?作為一個(gè)CPPer我感到很困惑!說好的是引用啊,那么執(zhí)行了如下語句之后
復(fù)制代碼代碼如下:Persontmp;
tmp=p1;
p1=p2;
由于我按C++中引用的概念去理解這個(gè)操作,那么時(shí)候tmpp1p2這時(shí)候理應(yīng)都是同一個(gè)對(duì)象才對(duì),即都理應(yīng)指向p2這個(gè)對(duì)象啊。但是輸出結(jié)果鮮明證明這樣的理解是不對(duì)的!那么Java中的引用既然和C++中的引用不是一回事??。?!莫非和C++中的指針是同一回事嗎?
好!我們就按照C++中的指針來理解一下這個(gè)操作過程。
首先Persontmp;是舉行了一個(gè)指針的聲明剛好和C++中的指針聲明類似。而C++中明確的規(guī)定了引用的聲明是不成以這樣單獨(dú)寫的,引用聲明的時(shí)候就理應(yīng)指針一個(gè)對(duì)象,鮮明第一步的推理是正確的。這是一個(gè)好的開頭!然后tmp=p1;p1=p2;鮮明是tmp指向了p1,p1指向了p2,核對(duì)一下輸出結(jié)果。察覺是吻合的!
那說明Java中的引用假設(shè)和C++中的數(shù)據(jù)操作做對(duì)比的話,理應(yīng)和C++中的指針的概念更相近!
C++中指針實(shí)現(xiàn)上述功能
既然說上面的Java操作對(duì)象方式和C++中的指針好像,那我們就看一下C++中實(shí)現(xiàn)上面的`方式是怎么實(shí)現(xiàn)的呢
復(fù)制代碼代碼如下:#includestdafx.h
#include
#include
classPerson
public:
std::stringname;
public:
Personstd::stringname
this-name=name;
;
;
int_tmainintargc,_TCHAR*argv[]
Person*p1=newPersonPaul;
Person*p2=newPersonGriefen;
std::=p2-namestd::endl;
Person*tmp;
tmp=p1;
p1=p2;
std::=p2-namestd::endl;
tmp;
p1;
return0;
調(diào)試之后察覺輸出結(jié)果和上面Java的運(yùn)行結(jié)果是一樣的
任何語言的底層實(shí)現(xiàn)都是一致的
既然Java中的引用效果看起來和C++的指針是一樣的為什么Java中不直接叫指針呢?鮮明還是有識(shí)別的,譬如Java中的引用是不能舉行++運(yùn)算的,而C++的指針就可以而且移動(dòng)也會(huì)很肆意。鮮明就這一點(diǎn)來說Java就對(duì)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 青山家庭團(tuán)聚協(xié)議書
- 鞋子購銷合同協(xié)議書
- 餐廳拆除合同協(xié)議書
- 駕校分校合伙協(xié)議書
- 荷蘭牧場(chǎng)轉(zhuǎn)讓協(xié)議書
- 防沙治沙治理協(xié)議書
- 車禍死亡賠償協(xié)議書
- 高考報(bào)考志愿協(xié)議書
- 車輛安全管理協(xié)議書
- 雇主擔(dān)??硟r(jià)協(xié)議書
- 教育部《中小學(xué)校園食品安全和膳食經(jīng)費(fèi)管理工作指引》知識(shí)專題講座
- 安全生產(chǎn)合規(guī)性審核
- 有限空間監(jiān)理實(shí)施細(xì)則
- 把信送給加西亞 (完整版)
- 建設(shè)項(xiàng)目全過程工程咨詢-第二次形成性考核-國(guó)開(SC)-參考資料
- 《中醫(yī)診斷學(xué)》-辨證
- 2024信息安全意識(shí)培訓(xùn)課件完整版含內(nèi)容
- 《炎癥與冠心病》課件
- 2024國(guó)家電網(wǎng)公司(第二批)招聘國(guó)家電網(wǎng)公司華北分部管理單位遴選500模擬題附帶答案詳解
- 2024版寵物寄養(yǎng)服務(wù)合同3篇
- GB/T 18601-2024天然花崗石建筑板材
評(píng)論
0/150
提交評(píng)論