java中没有了c++中 & 这样的引用符号,也没像c#中那样提供了out与ref 那么它是怎么做的呢
做什么事情都要去除例外的东西,String类就是此类问题的一个特殊情况
为什么特殊呢?
因为它是一个引用类型,确执行的是值传递。这样说有些抽象,还是举个例子吧
值传递:
class Str
{
public static void main(String[] args)
{
int i = 900;
System.out.println(i);
changeInt(i);
System.out.println(i);
}
public static void changeInt(int s)
{
s = 34234;
}
}
结果:
900
900
这就是所谓的值传递。i把自己的副本给了函数changeInt的形参,而在changeInt中虽然将s赋值34234.但是对原来的i值并没有影响,因为它所修改的只是i的copy品而已。
引用传递:
class Str
{
public static void main(String[] args)
{
Yinyong y = new Yinyong();
System.out.println(y.age);
changeObject(y);
System.out.println(y.age);
}
责任编辑:小草