public class CopyTest {
public static void main(String[] args) {
CopyTest newCopy = new CopyTest();

MyString a1 = new MyString("SAM");
MyString a2 = new MyString();
System.out.println("MyString的值是:" + a1.getValue() + "  MyString的长度是:" + a1.getLength());
newCopy.StringCopy(a1, a2);

System.out.println("函数调用后的结果:" + a2.getValue());
}

public int StringCopy(MyString src, MyString des)
{
des = src;
System.out.println("MyString的值是:" + des.getValue() + "  MyString的长度是:" + des.getLength());
return 0;
}}
class MyString
{
private String value;
private int length;

public MyString()
{
value = new String();
length = 0;
}

public MyString(String init)
{
this.setString(init);
}
public String getValue()
{
return value;
}

public int getLength()
{
return length;
}

public void setString(String value)
{
this.value = value;
this.length = value.length();
}
}
返回的结果是:
MyString的值是:SAM  MyString的长度是:3
MyString的值是:SAM  MyString的长度是:3
函数调用后的结果:按道理主函数在调用StringCopy的时候,传进去的应该是MyString的一个引用,在函数体里面引用改变了,但是在主函数里查看到的引用还是空的呢?请前辈们指点一下!