




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
本文格式為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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電纜墊資回收合同協(xié)議
- 電焊工合同協(xié)議
- 電商類電子合同協(xié)議
- 電梯設(shè)備改造合同協(xié)議
- 玻璃門定制合同協(xié)議
- 電信星卡轉(zhuǎn)讓合同協(xié)議
- 皮紙?jiān)牧喜少徍贤瑓f(xié)議
- 電力產(chǎn)品供銷合同協(xié)議
- 物資購銷年度合同協(xié)議
- 電信號(hào)碼選定合同協(xié)議
- 2025年會(huì)計(jì)政策更新試題及答案
- 2025分布式光伏工程驗(yàn)收標(biāo)準(zhǔn)規(guī)范
- 2025年上海市普陀區(qū)中考英語二模試卷(含答案)
- 2024年初級(jí)藥師考試歷年真題試題及答案
- 浙江省杭州市蕭山區(qū)高橋初中教育集團(tuán)2024學(xué)年第二學(xué)期4月份素養(yǎng)調(diào)研九年級(jí)語文試卷題卷
- 二級(jí)造價(jià)師水利工程考試真題卷(2025年)
- 2025年北京市東城區(qū)高三一模歷史試卷(含答案)
- 玉盤二部合唱正譜
- 2025年第六屆(中小學(xué)組)國家版圖知識(shí)競賽測(cè)試題庫及答案
- 色卡-CBCC中國建筑標(biāo)準(zhǔn)色卡(千色卡1026色)
- 2024年共青團(tuán)入團(tuán)積極分子考試題庫及答案
評(píng)論
0/150
提交評(píng)論