首页 新闻 会员 周边

java中函数传参数问题,到底是引用传递还是值传递

0
[已解决问题] 解决于 2015-11-09 10:48

代码如下:

public class Test1 {
  String x="hello";
  public static void main(String args[]){
    Test1 t = new Test1();
    t.change(t.x);
    System.err.println("change:"+t.x);
    t.change1(t);
    System.out.println("change1:"+t.x);
  }
  static void change(String m){
    m=m+2;
  }
  static void change1(Test1 t){
  t.x+=2;
  }
}

输出:change:hello

   change1:hello2

为什么,change函数传递的不是对象x的引用,而是值传递。

攻城狮dreamer的主页 攻城狮dreamer | 菜鸟二级 | 园豆:206
提问于:2015-11-09 10:09
< >
分享
最佳答案
0

首先java中没有引用传递,只有值传递

攻城狮dreamer | 菜鸟二级 |园豆:206 | 2015-11-09 10:14

参考http://guhanjie.iteye.com/blog/1683637

攻城狮dreamer | 园豆:206 (菜鸟二级) | 2015-11-09 10:48

必须通过属性所属对象的引用才能操作属性,change是不能改变t.x的

攻城狮dreamer | 园豆:206 (菜鸟二级) | 2015-11-09 11:16
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册