import java.util.*;//导入工具类包,可以使用Arrays.toString() 方法查看数组内的值。
class Ceshi
{
public static void main(String[] args)
{
int x = 10;
method(x);// 此时调用Method(int Y)方法没有实际意义,该方法没有实际返回值,而x为基本数据类型,只是把x的值赋给其内部的y,而不是把其引用传递给y。
System.out.println(x);//该处x值依然是10
int[] arr[] = {{1,2,3},{1,2,3}};
method(arr);//而由于arr是一个对象类型引用,此时传递的是arr的对象引用,调用该方法赋值时修改的是即该引用指向的arr,其与主函数内的arr为同一个。
System.out.println(Arrays.toString(arr[0]));//此时打印结果即为arr[0]=[5,10,15]
System.out.println(x+arr[0] [0]);//此时x=10,arr[0][0]=5,结果为15。
}
public static void method(int y)
{
System.out.println(y);//主函数调用该方法时实现int y = x;此时y值为10。
y=5;
System.out.println(y);//此时y值为5。但该y值与主函数内x无关。
}
public static void method(int[][] arr)
{
arr[0] = new int[]{5,10,15};//因为此时arr引用与主函数内的arr引用为同一份,赋值时即把原有arr内的值给改变了。此时arr[][] ={{5,10,15},{1,2,3}};
}
}
|