public class hsp210{
public static void main(String args[]){
//测试
B b = new B();
int arr[] = {1,2,3};
b.test100(arr);
System.out.println("main方法的arr数组");
for(int i = 0;i<arr.length;i++){
System.out.print(arr[i] + "\t");//200 2 3
}
System.out.println();
}
}
class B{
//在B类中编写一个方法test100,可以接收一个数组,在方法中修改该数组,看原来数组是否会发生变化
public void test100(int arr[]){
arr[0] = 200;
//遍历数组
System.out.println("test100的arr数组");
for(int i = 0;i<arr.length;i++){
System.out.print(arr[i] + "\t");// 200 2 3
}
System.out.println();
}
}
B b = new B();
int arr[] = {1,2,3};
b.test100(arr);
public void test100(int arr[])
main栈中的arr地址拷贝到test100栈中的arr
arr[0] = 200;
于是改变了堆中arr[0]的值,因此无论是main栈还是test100栈通过地址指向堆中,去寻找堆中arr的值,都将发生改变