java中只有值傳遞,傳遞的是引用的拷貝---值(如果在方法內部把拷貝指向了其他的對象,那麼出方法後,原來的指向還是沒有變,因爲只是引用的拷貝指向變了,而執行完方法後,引用的拷貝也就失效了),所以可以改變對象的屬性。
java中只有值傳遞。
感受一下:
public class Test {
public static void change(String s){
s="zhangsan";
}
public static void main(String[] args) {
String s=new String("lisi");
System.out.println(s);
change(s);
System.out.println(s);
}
}
輸出:lisi lisi
帶返回值的方法:
public class Test {
public static String change(String s){
s="zhangsan";
return s;
}
public static void main(String[] args) {
String s=new String("lisi");
System.out.println(s);
s = change(s);
System.out.println(s);
}
}
輸出:lisi zhangsan
總結:傳遞的是引用的副本。