Java傳參(數組、對象引用傳遞)


import org.junit.Test;

public class Demo {
    public int test = 1;

    @Test
    public void test2(){
        /*
        數組、對象(String等除外)作為參數傳遞,是引用傳遞,
        引用傳遞是改變原來屬性的值的,如例1、例2
         */
        System.out.println("數組傳參:");
        int[] arr = {5,1,3,6,4,5,6,7,8,9};
        System.out.println("傳參前arr[2] = "+arr[2]);
        changeValue(arr);
        System.out.println("傳參后arr[2] = "+arr[2]);

        System.out.println("*************************************");

        System.out.println("對象傳參:");
        Demo demo = new Demo();
        System.out.println("傳參前demo.test = "+demo.test);
        changeValue(demo);
        System.out.println("傳參后demo.test = "+demo.test);

        System.out.println("*************************************");

        System.out.println("String傳參:");
        String str = "沙比";
        System.out.println("傳參前str = "+str);
        changeValue(str);
        System.out.println("傳參后str = "+str);

        System.out.println("*************************************");

        System.out.println("int基本數據類型傳參:");
        int i = 0;
        System.out.println("傳參前i = "+i);
        changeValue(i);
        System.out.println("傳參后i = "+i);
    }

    public static void changeValue(int[] arr){
        arr[2] = 5;
    }
    public static void changeValue(String str){
        str = "傻逼";
    }
    public static void changeValue(Demo demo){
        demo.test = 2;
    }
    public static void changeValue(int i){
        i = 1;
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM