Java值传递和引用传递
Java中函数形参为基本数据类型时,那么,传值方式为值传递方式。即形参赋值一份实参的数据。形参的操作与实参完全独立。
引用传值
当函数形参为引用变量,即对象类型时,则传值方式为引用传值。即形参仅赋值实参引用变量的引用值,所以同绑定关联了一个共享的对象实体。若此时任意个引用变量对该对象的属性进行修改,则另一个对象也可见。
注意:字符串对象引用传值,无法将实参的字符串对象修改属性。因为String类成员方法中不存在修改字符串的方法。
void GetLocalVarValue(String s)
{
s = "Java"; //指向了另一个字符串对象
}
String s = "Hello";
GetLocalVarValue(s);
System.out.println(s); //结果:Hello
返回值
当返回值类型为对象类型时,其返回为对象引用返回。此时,并未创建新对象,而是增加了对源对象的引用。当然,也使对象的生命期得到延伸。
如与返回一个新对象,可以 return new +类拷贝构造函数。