中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

      Java方法(函數)傳值和傳引用的問題

      時間:2024-10-07 05:52:21 SUN認證 我要投稿
      • 相關推薦

      Java方法(函數)傳值和傳引用的問題

        java方法中傳值和傳引用的問題是個基本問題,但是也有很多人一時弄不清。下面YJBYS小編為大家整理了關于Java方法(函數)傳值和傳引用的問題文章,希望對你有所幫助。

        (一)基本數據類型:傳值,方法不會改變實參的值。

        public class TestFun {

        public static void testInt(int i){

        i=5;

        }

        public static void main(String[] args) {

        int a=0 ;

        TestFun.testInt(a);

        System.out.println("a="+a);

        }

        }

        程序執行結果:a=0 。

        (二)對象類型參數:傳引用,方法體內改變形參引用,不會改變實參的引用,但有可能改變實參對象的屬性值。

        舉兩個例子:

        (1)方法體內改變形參引用,但不會改變實參引用 ,實參值不變。

        public class TestFun2 {

        public static void testStr(String str){

        str="hello";//型參指向字符串 “hello”

        }

        public static void main(String[] args) {

        String s="1" ;

        TestFun2.testStr(s);

        System.out.println("s="+s); //實參s引用沒變,值也不變

        }

        }

        執行結果打印:s=1

        (2)方法體內,通過引用改變了實際參數對象的內容,注意是“內容”,引用還是不變的。

        import java.util.HashMap;

        import java.util.Map;

        public class TestFun3 {

        public static void testMap(Map map){

        map.put("key2","value2");//通過引用,改變了實參的內容

        }

        public static void main(String[] args) {

        Map map = new HashMap();

        map.put("key1", "value1");

        new TestFun3().testMap(map);

        System.out.println("map size:"+map.size()); //map內容變化了

        }

        }

        執行結果,打印:map size:2 。可見在方法testMap()內改變了實參的內容。

        (3)第二個例子是拿map舉例的,還有經常涉及的是 StringBuffer :

        public class TestFun4 {

        public static void testStringBuffer(StringBuffer sb){

        sb.append("java");//改變了實參的內容

        }

        public static void main(String[] args) {

        StringBuffer sb= new StringBuffer("my ");

        new TestFun4().testStringBuffer(sb);

        System.out.println("sb="+sb.toString());//內容變化了

        }

        }

        執行結果,打印:sb=my java 。

        所以比較參數是String和StringBuffer 的兩個例子就會理解什么是“改變實參對象內容”了。

        總結:

        第一:java方法基本數據類型是傳值,對象類型傳引用,這是千真萬確的。

        第二:當參數是對象時,無論方法體內進行了何種操作,都不會改變實參對象的引用。

        第三:當參數是對象時,只有在方法內部改變了對象的內容時,才會改變實參對象內容。

      【Java方法(函數)傳值和傳引用的問題】相關文章:

      iphone和電腦傳文件的方法03-21

      Java方法繼承、重載和覆蓋總結03-21

      Java時間類及函數用法03-21

      糾正京劇發聲問題的方法和建議03-13

      Java枚舉的常用方法03-16

      Java線程同步的方法03-17

      JAVA認證開源技術:關于Java的對象equals方法03-04

      Java中日期的處理方法03-09

      Java編程常見問題匯總02-28

      主站蜘蛛池模板: 防城港市| 美女一区二区三区在线观看视频| 久国产精品久久精品国产四虎| 国产精品女主播在线观看| 正阳县| 久久综合激激的五月天| 双江| 在线观看亚洲你懂得| 国产成人精品cao在线| 巍山| 国产成人精品一区二区| 久久国产色av老熟蜜臀av| 美腿丝袜av在线播放| 中文字幕午夜AV福利片| 免费视频成人 国产精品网站 | 无码av免费精品一区二区三区| 亚洲AⅤ乱码一区二区三区| 精品在免费线中文字幕久久| 欧美日本国产亚洲网站免费一区二区| 亚洲国产精品一区二区在线| 久久精品就是久久精品| 女优av福利在线观看| 日本香蕉久久一区二区视频| 久久精品中文字幕久久| 乱淫av一区二区三区| 日韩在线观看中文字幕一区二区| 亚洲最稳定资源在线观看| 巴彦淖尔市| 教育| 伊宁市| 久久精品国产亚洲av大全相关| www久久久888| 亚洲 美腿 欧美 偷拍| 好爽~又到高潮了毛片视频| 无码精品一区二区三区免费16| 中文字幕日本人妻一区| 亚洲国产成人久久综合三区| 风韵丰满妇啪啪区老老熟女杏吧| 国产亚洲精品综合91| 激情视频在线观看国产中文| 亚洲日产国无码|