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;
    }
}

 

posted @ 2020-12-10 20:03  JadeXu07  阅读(3388)  评论(0)    收藏  举报