-4
我知道Java總是通過價值傳遞。然而,在下面的代碼Java通過引用傳遞
public class Test{
String str = new String("good");
char[] ch = {'a','b','c'};
int i = 10;
public void change(String str,char ch,int i){
str = "test ok";
ch = 'g';
this.i = i+1;
}
public static void main(String[] args){
Test tt = new Test();
tt.change(tt.str,tt.ch[0],tt.i);
System.out.println(tt.i);
System.out.print(tt.str+" and ");
System.out.println(tt.ch);
}
}
tt.i的輸出爲11.什麼是 「本」 是什麼意思?爲什麼它可以改變我的價值?
實例化的類
Test
的類實例的引用的含義有兩個變量「我」,在方法之外創建的一個,另一個是參數.. 關鍵字this將用於調用方法外部的一個創建。 如果沒有它,它會調用參數。 –'i'是一個類變量,您在該方法中將1添加到它。你期待它做什麼? – WalterM
使用有意義的變量名稱是避免混淆的一種很好的方法。 – David