package cn.hp.test2; import java.util.Arrays; /* * 值传递和引用数据类型 * 值传递(值是基本数据类型) * 引用传递(引用是对象) * */ public class ParamTest { //值传递(传到方法中的数值,和原数据没有联系) public static void test1(int i){ i = 2; System.out.println("f方法中n="+i); } public static void test2(int[] arr){ System.out.println("方法中arr = "+ Arrays.toString(arr)); } public static void main(String[] args) { int i = 1; test1(i); System.out.println("外部n="+i); //引用传递测试 //引用传递(传到方法中的对象和原对象仍然有联系~!) int arr[] = {1,2}; test2(arr); System.out.println("外边的arr="+Arrays.toString(arr)); //把对象 在堆内存中的首地址保存给不同的变量 int brr[] = {100}; int crr[] = brr; int drr[] = brr; //此时一共有几个数组 ? 一个数组 drr[0] = 200; System.out.println("drr[0] = "+ drr[0]); System.out.println("crr[0] = "+ crr[0]); System.out.println("brr[0] = "+ brr[0]); } }