Java通过引用传递

时间:2016-01-12 19:30:22

标签: java pass-by-reference

我知道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.什么是“这个”是什么意思?为什么它可以改变i的价值?

1 个答案:

答案 0 :(得分:1)

因为您将i的值更改为11.“this”的含义是对您调用Test

时实例化的类new Test()的类实例的引用