すみません、教えて下さい。

〔class1〕
public void Method1() {
String s1 = "123";

class2.Method2(s1);
}

〔class2〕
public void Method2(String s2) {
s2 = class3.Method3(s2);
System.out.print("s2=" + s2);
}

〔class3〕
public boolean Method3(String s3) {
s3 = "abcdefghi"

return true;
}

「s2 = class3.Method3(s2);」のメソッドの戻り値と引数が同じ場合
メモリ破壊とか起こしたりするのでしょうか?
結構調べたんですが、どこにも載っていなくて・・