欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Java的傳值與傳引用是什么

本篇內(nèi)容介紹了“Java的傳值與傳引用是什么”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

創(chuàng)新互聯(lián)公司主營庫車網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都App定制開發(fā),庫車h5重慶小程序開發(fā)公司搭建,庫車網(wǎng)站營銷推廣歡迎庫車等地區(qū)企業(yè)咨詢

通常的說法是:對于基本數(shù)據(jù)類型(整型、浮點型、字符型、布爾型等),傳值;對于引用類型(對象、數(shù)組),傳引用?;绢愋蛡髦担腥硕疾粫Υ擞幸闪x;問題出在引用類型上。

為引入正題,不妨先看看下面的例子,你能正確給出程序的運行結(jié)果嘛?

/**    * @(#)Swap.java   *   *   *  @author     *  @version  1.00 2007/1/5    */           public   class  Swap   {        public  Swap()   {}              public   static   void  main(String[] args)   {          Changer c  =   new  Changer();                    String stra  =   " Mighty " ;          String strb  =   " Mouse " ;             c.swap(stra, strb);          System.out.println(stra  +   "   "   +  strb);                    String[] strArr  =   new  String[ 2 ] ;          strArr[ 0 ]  =  stra;          strArr[ 1 ]  =  strb;          c.swap(strArr);          System.out.println(strArr[ 0 ]  +    "   "   +  strArr[ 1 ]);               }              static   class  Changer   {                 public   < T >   void  swap(T a, T b)   {              T temp  =  a;              a  =  b;              b  =  temp;          }                      public   < T >   void  swap(T[] t)   {               if  (t.length  <   2 )   {                  System.out.println( " error! " );                   return ;              }                             T temp  =  t[ 0 ];              t[ 0 ]  =  t[ 1 ];              t[ 1 ]  =  temp;          }       }   }

上面程序的正確運行結(jié)果為:

Mighty Mouse

Mouse Mighty

你答對了嘛?

下面我們來分析一下:為什么會出現(xiàn)上面的運行結(jié)果?

為分析這個問題,我們必須對程序中的數(shù)據(jù)在內(nèi)存中的布局有一定了解。上面main程序中和String相關(guān)的變量共有3個,其布局可以用下圖所示:

Java的傳值與傳引用是什么

當(dāng)調(diào)用swap(stra, strb)函數(shù)時,傳遞的是引用類型stra、strb的拷貝值,因此函數(shù)中任何對參數(shù)的改變都不會影響到stra和strb的值;而調(diào)用swap(strArr)時,傳遞的是strArr的拷貝值,程序中對參數(shù)的任何改變?nèi)匀徊粫绊懙絪trArr的值,然而swap(T[] t)中改變的并不是strArr的值,而是strArr[0]和strArr[1]的值,也就是引用類型strArr所指向的對象的值,因而strArr[0]和strArr[1]的值發(fā)生了變化。

從上面的分析,我們可以得出結(jié)論:對于引用類型,其實參數(shù)傳遞時仍然是按值傳遞的;當(dāng)然,按引用傳遞也不是完全沒有道理,只是參考對象不是引用類型本身,而是引用類型所指向的對象。

“Java的傳值與傳引用是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

標(biāo)題名稱:Java的傳值與傳引用是什么
本文鏈接:http://www.aaarwkj.com/article46/gjgpeg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、外貿(mào)建站、微信小程序建站公司、Google、動態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計
中文字幕人妻丝乱一区三区| 中文乱码字幕亚洲精品| 亚洲最色一区二区三区| 日韩人妻精品在线一区二区| 日韩在线一区二区视频观看| 亚洲国产av福利久久| 成人午夜福利视频免费观看| 日本黄色中文字幕在线观看| 国产老熟女高潮一区二区| 81精品国产综合久久精品伦理| 亚洲禁看av一区不卡| 一区二区三区蜜桃av| 日韩一级免费高清黄片| 在线观看中文字幕一区| 黄片免费在线播放欧美| 国产亚洲加勒比久久精品| 国产传媒欧美日韩成人精品| 亚洲国产欧美日韩在线一区| av中文字幕乱码在线看| 免费一区二区三区黄色| 亚洲精品有码中文字幕| 开裆丝袜高跟啪啪高潮av| 后入式动漫在线观看| 最新中文字幕人妻少妇| 日本熟女俱乐部一区二区| 久久人妻蜜桃一区二区三区| 91伊人久热精品午夜福利| 亚洲av无毛在线观看| 天堂av免费资源在线观看| 人妻天堂久久一区二区三区| 亚洲综合色视频在线播放| 未满十八禁止免费视频| 午夜体内射精免费视频| 欧美日韩性性在线观看| 日本久久久精品福利视频| 黄色亚洲日本欧美在线观看| 日本韩国国语对白一区二区三区| 国产亚洲精品视频在线网 | 最新国产激情福利网站| 亚洲精品视频久久免费| 亚洲码欧洲码一二三区|