这个你要看是什么了。。
如果是基本类型....
只是值传递....
如果使用new新建的对象是引用传递...
会改变属性的...
int a = 0,b = 1;
int[] arr = new int[10];
加入有两个静态的函数
swap(int a,int b); 交换a和b的值 当这个函数执行完毕,你在main方法中打印ab的值是没有变化的
chang(int[] arr); 而这个你如果修改arr中任何一个元素,而这个改变将保存到arr中,你在main中打印arr就会发现有所改变了;
我是这么理解的用new 创建的对象是存在堆内存区....
而基本类型创建的是存在于栈内存中..
这个肯能是本质区别吧 |