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;
}
}
![]()