class Test{
char[] a ={'a','b','c'};
public static void main (String[] args) {
Test t = new Test();
// t.a =new char[] {'d','e','f'};
char[] b= t.a;
b[0] ='e';
t.change(t.name,b);
}
public void change(char[] c){
System.out.println("this.a:"+this.a+" "+a[0] ); // a[0] =='e';
a[0] ='d';
System.out.println("c:"+c+" "+c[0] ); //c[0] == 'd'
}
}
综上所述 数组据有对象传递的所有特点 因此 结果显而易见
你可以试试用个对象来用上面的方法再敲上一遍得以求证 对了 还有一句话 就是java是值传递 当最初的值改变时 后边赋予的值(都等同过同一值 像上
面数组的 char[] b= t.a;
b[0] ='e';
就是这个意思
)也会跟着改变 反过来也成立 |