码迷,mamicode.com
首页 > 其他好文 > 详细

方法参数的值传递

时间:2018-03-04 19:03:54      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:数据类型   string   值传递   java   不同   stc   参数   test   integer   

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     }

 

方法参数的值传递

标签:数据类型   string   值传递   java   不同   stc   参数   test   integer   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!