首页 > 其他 > 详细

方法参数的值传递

时间:2018-03-04 18:45:15      阅读:196      评论:0      收藏:0      [点我收藏+]

Java中没有指针,所以也没有引用传递了,仅仅有值传递不过可以通过对象的方式来实现引用传递
(1)传递的是基本数据类型和String时,传递的是基本数据类型和String的内存值
String对象值不能改变,存储在常量区(Rom)
(2)传递的是非String对象时,传递的是非String类型的引用地址值
值传递过程是: 从实参传递给形参,即将实参的值赋值给形参,也就是说方法可以修改形参值,但不能修改实参值,例如:

 1 public void change( int i,Person person){//将实参i的值1赋值给形参i,实参person的地址值赋值给形参person
 2         i=3;//修改的是形参值,与实参无关
 3         person.setAge(20);//修改形参person地址值指向的对象内容,与实参指向的对象一样,实参指向的对象内容也被改了
 4         person = new Person();//修改的是形参值,引用地址值改了,与实参不同了
 5         person.setAge(30);//修改形参person地址值指向的对象内容,与实参指向的对象不一样
 6     }
 7 
 8     @Test
 9     public void testChange(){
10         int i = 1;
11         Person person = new Person();
12         person.setAge(10);
13         change(i,person);
14         System.out.println("i: "+i);//打印实参值 i: 1
15         Integer age = person.getAge();
16         System.out.println("age: "+age);//打印实参指向的对象内容 age: 20
17     }

 

方法参数的值传递

原文:https://www.cnblogs.com/deam/p/8505324.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!