Java传参数的一个问题

来源:百度知道 编辑:UC知道 时间:2024/06/22 08:43:10
原来有一个对象类型A
声明一个变量,A a=null;

传入某个函数xx(A a){
...
a=new A();
...
}
请问在new之后,外部主调函数里的那个a会不会改变呢~?

不会

所谓接受传入的参数,其实是将形参引用a指向实参对象.

a=new A();操作只是将形参引用指向了一个新对象.

实参并没有受到影响.

所以"请问在new之后,外部主调函数里的那个a会不会改变呢"

答案是否,不会改变

不会,java中所有的参数都是用传值来传递的,函数中的a只是主调函数中a的一个别名,两个a都指向一个对象而已

看你外部变量里面的a声明的类型是什么了

如果是局部的话不会,全局就会

变量a 原来指向null,现在指向一个A对象的实例.