java值传递与引用传递
来源:优易学  2011-9-17 9:42:24   【优易学:中国教育考试门户网】   资料下载   IT书店

  java中没有了c++中 & 这样的引用符号,也没像c#中那样提供了out与ref 那么它是怎么做的呢
  做什么事情都要去除例外的东西,String类就是此类问题的一个特殊情况
  为什么特殊呢?
  因为它是一个引用类型,确执行的是值传递。这样说有些抽象,还是举个例子吧
  值传递:
  class Str
  {
  public static void main(String[] args)
  {
  int i = 900;
  System.out.println(i);
  changeInt(i);
  System.out.println(i);
  }
  public static void changeInt(int s)
  {
  s = 34234;
  }
  }
  结果:
  900
  900
  这就是所谓的值传递。i把自己的副本给了函数changeInt的形参,而在changeInt中虽然将s赋值34234.但是对原来的i值并没有影响,因为它所修改的只是i的copy品而已。
  引用传递:
  class Str
  {
  public static void main(String[] args)
  {
  Yinyong y = new Yinyong();
  System.out.println(y.age);
  changeObject(y);
  System.out.println(y.age);
  }

[1] [2] 下一页

责任编辑:小草

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训