/**
* 通过参数数据类型来说明值传递和引用传递的区别* @author Rick
*
*/
class TestObject {
String name;
int age;
}
public class DeliverValOrAddrInMethod {
private void devilerFunc(int parm$1, TestObject eg) {
parm$1 = 88;
eg.age = 60;
}
public static void main(String[] args) {
//对象实例化,以调用函数devilerFunc
DeliverValOrAddrInMethod di = new DeliverValOrAddrInMethod();
//对象实例化,以设置属性并作为参数传参
TestObject t = new TestObject();
t.age = 10;
t.name = "Jason";
//定义参数的初始值
int parm$1 = 99;
System.out.println("传参前: parm$1 = " + parm$1);
System.out.println("传参前: name = " + t.name + " age = " + t.age);
di.devilerFunc(1,t);
//parm$1传递的是值,TestObject eg传递的是引用(地址),c里面是指针
System.out.println("传参后: parm$1 = " + parm$1);
System.out.println("传参后: name = " + t.name + " age = " + t.age);
}
}
结果:
传参前: parm$1 = 99
传参前: name = Jason age = 10
传参后: parm$1 = 99
传参后: name = Jason age = 60