Java方法传参的值传递和引用传递的区别(code)

来源:互联网 发布:湖北招生考试软件 编辑:程序博客网 时间:2024/05/20 21:46

/**

 * 通过参数数据类型来说明值传递和引用传递的区别
 * @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

原创粉丝点击