對於基本數據類型,java中是做的傳值操作。而對於類類型,java中做的是傳的引用。也就是傳的是指向莫一個對象的指針。因爲是傳的是引用。所以在方法體裏面,對基本類型的修改不會影響傳進來的值,但是對引用的修改回傳進來的引用的屬性。具體的實驗代碼如下所示。
package learn.java;
public class A {
private int i=4;
public int getI() {
return i;
}
public void setI(int i) {
this.i = i;
}
}
package learn.java;
public class PassValue {
public void testValue(int j){
j++;
}
public void testValue(A a){
a.setI(5);
}
public static void main(String args[]){
PassValue pv=new PassValue();
int i=4;
pv.testValue(i);
System.out.println(i);
A b=new A();
System.out.println(b.getI());
pv.testValue(b);
System.out.println(b.getI());
}
}
運行的結果如下,
4
4
5