您的位置:首页 > 编程语言 > Java开发

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

2017-06-16 05:00 399 查看
/**

 * 通过参数数据类型来说明值传递和引用传递的区别

 * @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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐