锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲精品无播放器在线播放,国产精品大陆在线观看,色综合色综合网色综合 http://www.aygfsteel.com/nicholas-sjy/category/5978.html鑰佷簡娌℃湁鍥炲繂涓嶈绱э紝瑕佹槸鍙湁涓澶у爢鍚庢倲灝辨儴浜?/description>zh-cn Tue, 27 Feb 2007 21:27:31 GMT Tue, 27 Feb 2007 21:27:31 GMT 60 Pass by What ? http://www.aygfsteel.com/nicholas-sjy/articles/40853.htmlNic Sense Zone Nic Sense Zone Thu, 13 Apr 2006 04:07:00 GMT http://www.aygfsteel.com/nicholas-sjy/articles/40853.html http://www.aygfsteel.com/nicholas-sjy/comments/40853.html http://www.aygfsteel.com/nicholas-sjy/articles/40853.html#Feedback 1 http://www.aygfsteel.com/nicholas-sjy/comments/commentRss/40853.html http://www.aygfsteel.com/nicholas-sjy/services/trackbacks/40853.html
聽聽聽鍦?/span>
Java
涓肩被鍨嬪拰寮曠敤綾誨瀷鏄浣曡繘琛屼紶閫掔殑錛岃繖涓槸鎴戜粖澶╄璋堣璇濋銆?/span>
聽聽聽聽聽聽
鍏充簬榪欎釜璇濋錛屾垜鐨勪竴涓ソ鍙嬬殑鎺ㄨ崘涓嬬湅浜嗕竴綃囨枃绔狅紝榪欐墠浣挎垜鏈変簡鍐欒繖綃囨枃绔犵殑鎯蟲硶銆傝繖綃囨枃绔犳槸銆?/span>
Pass-by-Value Please
銆?/span>
(http://www.javaranch.com/campfire/StoryPassBy.jsp )
錛岄『渚垮啀鍚戝ぇ瀹舵帹鑽愪竴涓綉绔欙紝灝辨槸
http://www.javaranch.com
錛屼竴涓緢濂界殑
Java
涔愬洯銆?/span>
聽聽聽聽聽聽
濂戒簡錛屽洖鍒版棰樺惂锝炲厤寰椾竴涓嬪張璺戣繙浜嗭綖鍛靛懙路
聽聽聽聽聽聽
鍏充簬鍊肩被鍨嬶紝鎴戞兂澶у閮藉緢娓呮浜嗭紝鎬葷殑璇存潵灝辨槸
Copy the value and give it to you
銆?/span>
聽聽聽聽聽聽
璇風湅濡備笅浠g爜錛?br />
聽1 聽package 聽blog.nichlas.article.j2se; 聽2 聽聽3 聽import 聽 static 聽java.lang.System.out; 聽4 聽聽5 聽public 聽 class 聽PassByValue聽{ 聽6 聽聽聽聽聽 public 聽 static 聽 void 聽testPassValue(){ 聽7 聽聽聽聽聽聽聽聽聽 int 聽a聽 = 聽 2 聽; 聽8 聽聽聽聽聽聽聽聽聽 int 聽b聽 = 聽a聽; 聽9 聽聽聽聽聽聽聽聽聽out.println( " a=聽 " 聽 + 聽a聽)聽; 10 聽聽聽聽聽聽聽聽聽out.println( " b=聽 " 聽 + 聽b聽)聽; 11 聽聽聽聽聽聽聽聽聽out.println( " ===============聽the聽value聽has聽changed聽=============== " ); 12 聽聽聽聽聽聽聽聽聽a聽 = 聽 3 聽;聽聽 // 聽has聽change聽the聽value聽of聽a,聽but聽tht聽value聽of聽b聽is聽never聽be聽changed 13 聽聽聽聽聽聽聽聽聽out.println( " a=聽 " 聽 + 聽a聽)聽; 14 聽聽聽聽聽聽聽聽聽out.println( " b=聽 " 聽 + 聽b聽)聽; 15 聽聽聽聽聽} 16 聽聽聽聽聽 17 聽聽聽聽聽 public 聽 static 聽 void 聽main(String聽[]聽args){ 18 聽聽聽聽聽聽聽聽聽out.println(); 19 聽聽聽聽聽聽聽聽聽PassByValue.testPassValue(); 20 聽聽聽聽聽} 21 聽}
緇撴灉濡備笅錛?/span>
a= 2
b= 2
=============== the value has changed ===============
a= 3
b= 2
聽
榪欎釜渚嬪瓙寰堟槑鏄撅紝涓嶇敤榪囧鐨勮В閲婏紝
a
鍜?/span>
b
宸茬粡鏄袱涓嫭绔嬬殑錛屼簰琛ョ浉騫茬殑鍊箋?/span>
聽
涓嬮潰榪涘叆鎴戜滑浠婂ぉ鐨勯噸鐐癸紝鍏充簬寮曠敤綾誨瀷銆?/span>
鎴戣繖閲屾兂鍊熼壌涓涓嬫垜寮綃囨彁鍒扮殑閭g瘒鏂囩珷錛岄噷闈㈡彁鍒扮殑鏉瓙錛?/span>
I like the cap, do you?
鍦ㄨ繖閲岋紝鎴戞兂鎵撲竴涓瘮鏂癸紝鎶婃垜浠澂瀛愰噷鐨勫紩鐢?/span>
Reference
浣滀竴涓被浼鹼紝鍦ㄦ搷浣滅郴緇熼噷錛屾湁涓涓緢閲嶈鐨勬蹇碉紝閭e氨鏄?b style="mso-bidi-font-weight: normal">榪涚▼鎺у埗鍧?/span>錛屼粬鏄繘紼嬪疄浣撶殑涓閮ㄥ垎錛屾槸鎿嶄綔緋葷粺涓渶閲嶈鐨勮褰曞瀷鏁版嵁緇撴瀯錛屼粬璁板綍浜嗘搷浣滅郴緇熸墍闇鐨勶紝鐢ㄤ簬鎻忚堪榪涚▼鐨勫綋鍓嶆儏鍐典互鍙婃帶鍒惰繘紼嬭繍琛岀殑鍏ㄩ儴淇℃伅銆傚悓鏍鳳紝寮曠敤涔熸槸濡傛錛屽彧鏄病鏈夎繖涔堝鏉傜艦浜嗐傚紩鐢ㄩ噷瀛樻斁浜?/span>
java object
鐨勭浉鍏充俊鎭紝浠ヤ究璁?/span>
JVM (Java Virtual Machine)
鍦ㄥ爢涓壘鍒板璞?/span>
(Java
瀵硅薄鍏ㄩ儴鍦ㄥ爢涓?/span>
)
銆?/span>
鎴戜滑鍙互鎶婅繖縐嶆儏鍐墊兂璞℃垚鍦ㄤ竴涓澂瀛愰噷鏀句簡涓涓被浼間簬榪涚▼鎺у埗鍧楃殑
reference
錛屼笅闈㈡潵鐪嬪涓嬩唬鐮侊細
聽1 聽package 聽blog.nichlas.article.j2se; 聽2 聽聽3 聽import 聽 static 聽java.lang.System.out; 聽4 聽聽5 聽public 聽 class 聽PassByValue聽{ 聽6 聽聽聽聽聽 public 聽 static 聽 void 聽testPassValue(){ 聽7 聽聽聽聽聽聽聽聽聽 int 聽a聽 = 聽 2 聽; 聽8 聽聽聽聽聽聽聽聽聽 int 聽b聽 = 聽a聽; 聽9 聽聽聽聽聽聽聽聽聽out.println( " a=聽 " 聽 + 聽a聽)聽; 10 聽聽聽聽聽聽聽聽聽out.println( " b=聽 " 聽 + 聽b聽)聽; 11 聽聽聽聽聽聽聽聽聽out.println( " ===============聽the聽value聽has聽changed聽=============== " ); 12 聽聽聽聽聽聽聽聽聽a聽 = 聽 3 聽;聽聽 // 聽has聽change聽the聽value聽of聽a,聽but聽tht聽value聽of聽b聽is聽never聽be聽changed 13 聽聽聽聽聽聽聽聽聽out.println( " a=聽 " 聽 + 聽a聽)聽; 14 聽聽聽聽聽聽聽聽聽out.println( " b=聽 " 聽 + 聽b聽)聽; 15 聽聽聽聽聽} 16 聽聽聽聽聽 17 聽聽聽聽聽 public 聽 static 聽 void 聽testPassReference(){ 18 聽聽聽聽聽聽聽聽聽ObjectForTest聽o1聽 = 聽 new 聽ObjectForTest( " Object聽one " ); 19 聽聽聽聽聽聽聽聽聽ObjectForTest聽o2聽 = 聽o1; 20 聽聽聽聽聽聽聽聽聽out.println(o1.getInfo()); 21 聽聽聽聽聽聽聽聽聽out.println(o2.getInfo()); 22 聽聽聽聽聽聽聽聽聽out.println( " ===============聽the聽value聽has聽changed聽=============== " ); 23 聽聽聽聽聽聽聽聽聽o1聽 = 聽 new 聽ObjectForTest( " Object聽two " ); 24 聽聽聽聽聽聽聽聽聽out.println(o1.getInfo()); 25 聽聽聽聽聽聽聽聽聽out.println(o2.getInfo()); 26 聽聽聽聽聽} 27 聽聽聽聽聽 28 聽聽聽聽聽 public 聽 static 聽 void 聽main(String聽[]聽args){ 29 聽聽聽聽聽聽聽聽聽out.println(); 30 聽聽聽聽聽聽聽聽聽PassByValue.testPassValue(); 31 聽聽聽聽聽聽聽聽聽out.println(); 32 聽聽聽聽聽聽聽聽聽PassByValue.testPassReference(); 33 聽聽聽聽聽} 34 聽} 35 聽36 聽class 聽ObjectForTest{ 37 聽聽聽聽聽String聽info聽; 38 聽聽聽聽聽聽聽聽聽 39 聽聽聽聽聽 public 聽ObjectForTest(){ 40 聽聽聽聽聽聽聽聽聽info聽 = 聽 " default " ; 41 聽聽聽聽聽} 42 聽聽聽聽聽聽聽聽聽 43 聽聽聽聽聽 public 聽ObjectForTest(String聽initInfo){ 44 聽聽聽聽聽聽聽聽聽info聽 = 聽initInfo聽; 45 聽聽聽聽聽} 46 聽聽聽聽聽聽聽聽聽 47 聽聽聽聽聽 public 聽String聽getInfo(){ 48 聽聽聽聽聽聽聽聽聽 return 聽info; 49 聽聽聽聽聽} 50 聽聽聽聽聽聽聽聽聽 51 聽聽聽聽聽 public 聽 void 聽setInfo(String聽changeInfo){ 52 聽聽聽聽聽聽聽聽聽info聽 = 聽changeInfo; 53 聽聽聽聽聽} 54 聽}
榪愯緇撴灉鏄細
a= 2
b= 2
=============== the value has changed ===============
a= 3
b= 2
聽
Object one
Object one
=============== the value has changed ===============
Object two
Object one
聽
榪欓噷鍙互寰堟槑鏄劇殑琛ㄧず鍑哄叾瀹炴墍璋撶殑
Reference
鍏跺疄灝辮窡鍊肩被鍨嬫槸寰堢浉浼肩殑錛屾墍浠ユ垜浠彲浠ョ粰
Reference
鍙栦竴涓悕瀛椻?b style="mso-bidi-font-weight: normal">寮曠敤鍊?/span>鈥濄?/span>
榪欓噷鍙槸鎶?/span>
o1
鐨勫紩鐢ㄥ兼嫹璐濅簡涓浠界粰
o2
銆?/span>
聽
聽
涓嶈繃榪欓噷瑕佹敞鎰忕殑灝辨槸铏界劧鏄紩鐢ㄥ肩殑鎷瘋礉錛屼絾浠栦滑鍗村紩鐢ㄤ簡鍚屼竴涓璞★紝浠諱綍涓涓瀵硅薄鐨勬敼鍙橀兘浼氾紝鍦ㄥ彟澶栦竴涓紩鐢ㄤ笂閮藉彲浠ユ樉紺虹殑鍑烘潵銆?br />鐪嬪涓嬬殑渚嬪瓙錛?br />
聽1 聽package 聽blog.nichlas.article.j2se; 聽2 聽聽3 聽import 聽 static 聽java.lang.System.out; 聽4 聽聽5 聽public 聽 class 聽PassByValue聽{ 聽6 聽聽聽聽聽 public 聽 static 聽 void 聽testPassValue(){ 聽7 聽聽聽聽聽聽聽聽聽 int 聽a聽 = 聽 2 聽; 聽8 聽聽聽聽聽聽聽聽聽 int 聽b聽 = 聽a聽; 聽9 聽聽聽聽聽聽聽聽聽out.println( " a=聽 " 聽 + 聽a聽)聽; 10 聽聽聽聽聽聽聽聽聽out.println( " b=聽 " 聽 + 聽b聽)聽; 11 聽聽聽聽聽聽聽聽聽out.println( " ===============聽the聽value聽has聽changed聽=============== " ); 12 聽聽聽聽聽聽聽聽聽a聽 = 聽 3 聽;聽聽 // 聽has聽change聽the聽value聽of聽a,聽but聽tht聽value聽of聽b聽is聽never聽be聽changed 13 聽聽聽聽聽聽聽聽聽out.println( " a=聽 " 聽 + 聽a聽)聽; 14 聽聽聽聽聽聽聽聽聽out.println( " b=聽 " 聽 + 聽b聽)聽; 15 聽聽聽聽聽} 16 聽聽聽聽聽 17 聽聽聽聽聽 public 聽 static 聽 void 聽testPassReference(){ 18 聽聽聽聽聽聽聽聽聽ObjectForTest聽o1聽 = 聽 new 聽ObjectForTest( " Object聽one " ); 19 聽聽聽聽聽聽聽聽聽ObjectForTest聽o2聽 = 聽o1; 20 聽聽聽聽聽聽聽聽聽out.println(o1.getInfo()); 21 聽聽聽聽聽聽聽聽聽out.println(o2.getInfo()); 22 聽聽聽聽聽聽聽聽聽out.println( " ===============聽the聽value聽has聽changed聽=============== " ); 23 聽聽聽聽聽聽聽聽聽o1聽 = 聽 new 聽ObjectForTest( " Object聽two " ); 24 聽聽聽聽聽聽聽聽聽out.println(o1.getInfo()); 25 聽聽聽聽聽聽聽聽聽out.println(o2.getInfo()); 26 聽聽聽聽聽} 27 聽聽聽聽聽 28 聽聽聽聽聽 public 聽 static 聽 void 聽testChangeObject(){ 29 聽聽聽聽聽聽聽聽聽ObjectForTest聽o1聽 = 聽 new 聽ObjectForTest( " Object聽one " ); 30 聽聽聽聽聽聽聽聽聽ObjectForTest聽o2聽 = 聽o1; 31 聽聽聽聽聽聽聽聽聽out.println(o1.getInfo()); 32 聽聽聽聽聽聽聽聽聽out.println(o2.getInfo()); 33 聽聽聽聽聽聽聽聽聽out.println( " ===============聽the聽value聽has聽changed聽=============== " ); 34 聽聽聽聽聽聽聽聽聽o1.setInfo( " Object聽Value聽changed! " ); 35 聽聽聽聽聽聽聽聽聽out.println(o1.getInfo()); 36 聽聽聽聽聽聽聽聽聽out.println(o2.getInfo()); 37 聽聽聽聽聽} 38 聽聽聽聽聽 39 聽聽聽聽聽 public 聽 static 聽 void 聽main(String聽[]聽args){ 40 聽聽聽聽聽聽聽聽聽out.println(); 41 聽聽聽聽聽聽聽聽聽PassByValue.testPassValue(); 42 聽聽聽聽聽聽聽聽聽out.println(); 43 聽聽聽聽聽聽聽聽聽PassByValue.testPassReference(); 44 聽聽聽聽聽聽聽聽聽out.println(); 45 聽聽聽聽聽聽聽聽聽PassByValue.testChangeObject(); 46 聽聽聽聽聽} 47 聽} 48 聽49 聽class 聽ObjectForTest{ 50 聽聽聽聽聽String聽info聽; 51 聽聽聽聽聽聽聽聽聽 52 聽聽聽聽聽 public 聽ObjectForTest(){ 53 聽聽聽聽聽聽聽聽聽info聽 = 聽 " default " ; 54 聽聽聽聽聽} 55 聽聽聽聽聽聽聽聽聽 56 聽聽聽聽聽 public 聽ObjectForTest(String聽initInfo){ 57 聽聽聽聽聽聽聽聽聽info聽 = 聽initInfo聽; 58 聽聽聽聽聽} 59 聽聽聽聽聽聽聽聽聽 60 聽聽聽聽聽 public 聽String聽getInfo(){ 61 聽聽聽聽聽聽聽聽聽 return 聽info; 62 聽聽聽聽聽} 63 聽聽聽聽聽聽聽聽聽 64 聽聽聽聽聽 public 聽 void 聽setInfo(String聽changeInfo){ 65 聽聽聽聽聽聽聽聽聽info聽 = 聽changeInfo; 66 聽聽聽聽聽} 67 聽}
緇撴灉濡備笅錛?/span>
聽
a= 2
b= 2
=============== the value has changed ===============
a= 3
b= 2
聽
Object one
Object one
=============== the value has changed ===============
Object two
Object one
聽
Object one
Object one
=============== the value has changed ===============
Object Value changed
Object Value changed
聽
浠庤繖閲屽彲浠ョ湅鍒幫紝
o1
瀵瑰璞$殑鏀瑰彉浣撶幇鍦ㄤ簡
o2
涓婁簡錛岄氳繃瀵?/span>
o2
鐨勮皟鐢ㄥ彲浠ョ湅鍑恒?/span>
聽
浠ヤ笂鏄垜瀵硅繖涓棶棰樼殑鐪嬫硶錛屽笇鏈涘ぇ瀹跺彲浠ョ粰涓鐐瑰府鍔┿?/span>
]]>嫻佺殑浣跨敤 http://www.aygfsteel.com/nicholas-sjy/articles/28459.htmlNic Sense Zone Nic Sense Zone Wed, 18 Jan 2006 04:21:00 GMT http://www.aygfsteel.com/nicholas-sjy/articles/28459.html http://www.aygfsteel.com/nicholas-sjy/comments/28459.html http://www.aygfsteel.com/nicholas-sjy/articles/28459.html#Feedback 0 http://www.aygfsteel.com/nicholas-sjy/comments/commentRss/28459.html http://www.aygfsteel.com/nicholas-sjy/services/trackbacks/28459.html 闃呰鍏ㄦ枃 ]]>
主站蜘蛛池模板:
鹿邑县 |
项城市 |
宁武县 |
淮北市 |
菏泽市 |
额济纳旗 |
明光市 |
梁河县 |
炉霍县 |
乐清市 |
图木舒克市 |
和平县 |
宝坻区 |
东明县 |
南丹县 |
余庆县 |
专栏 |
榆社县 |
兴业县 |
绥德县 |
石河子市 |
抚顺市 |
汉沽区 |
滦平县 |
临江市 |
康平县 |
沙雅县 |
石景山区 |
四子王旗 |
库伦旗 |
柳林县 |
淳化县 |
长沙县 |
缙云县 |
酉阳 |
红河县 |
秦皇岛市 |
崇州市 |
巴里 |
赫章县 |
深泽县 |