Java函数传递引用和值的区别
1个回答
展开全部
引用传递的是对象的地址,值传递的是变量的值
使用引用传递,被调用函数使用的是调用函数传入的对象本身,也就是说在被调用函数中对对象进行修改将直接导致外部对象的值被修改。
而值传递,传递进去的是变量的副本(即拷贝),此时在被调用函数中对形参的任何修改都不会改变外部变量的值。
引用你可以直接理解成对象的别名。例如有有函数Test(String str);对象String name;
调用Test:Test(name);
则在Test里面str其实是name外部变量的别名,他们所代表的是同一个对象,所以Test函数修改str即修改name
使用引用传递,被调用函数使用的是调用函数传入的对象本身,也就是说在被调用函数中对对象进行修改将直接导致外部对象的值被修改。
而值传递,传递进去的是变量的副本(即拷贝),此时在被调用函数中对形参的任何修改都不会改变外部变量的值。
引用你可以直接理解成对象的别名。例如有有函数Test(String str);对象String name;
调用Test:Test(name);
则在Test里面str其实是name外部变量的别名,他们所代表的是同一个对象,所以Test函数修改str即修改name
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询