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; } }
原文:https://www.cnblogs.com/jadexu07/p/14117079.html