对于基本数据类型,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