Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » Java SE 综合讨论区  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
话题被移动
该话题已被移动 - floater , 2005-07-31 20:39
如果您尚不清楚该话题被移动的原因,请参考论坛规则以及本版公告或者联系本版版主。
作者 Java中的参数传递问题
fuliang2008





发贴: 4
积分: 0
于 2005-07-31 17:21 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
在有的书上说java参数在传递参数的时候如果不是基本类型则采用传递reference
而有得书上则说都采用传值方式,小弟作了一个程序作了如下测试,结果却让人疑惑:

public class ByValueOrByReference
{
  public static void main(String []args)
  {
    Person p1=new Person("Zhangsan");
    Person p2=new Person("Lisi");
    swap(p1,p2);
    System.out.println("p1 name: "+p1.getName()+"\np2 nam e: "+p2.getName());//p1 name: Zhangsan
//p2 name: Lisi
    //象是by value;
    changeName(p1,p2);
    System.out.println("p1 name: "+p1.getName()+"\np2 name: "+p2.getName());//p1 name: Lisi
//p2 name: Zhangsan
//象是by reference;
  }
  public static void swap(Person p1,Person p2)
  {
    Person temp=p1;
    p1=p2;
    p2=temp;
  }
  public static void changeName(Person p1,Person p2)
  {
    p1.setName("Lisi");
    p2.setName("Zhangsan");
  }
}
class Person
{
private String name;
public Person(String name)
{
  this.name=name;
}
public String getName()
{
  return name;
}
public void setName(String name)
{
  this.name=name;
}

}


why edited on 2005-08-17 04:50


话题树型展开
人气 标题 作者 字数 发贴时间
7259 Java中的参数传递问题 fuliang2008 1482 2005-07-31 17:21
5762 Re:Java中的参数传递问题 Reeves1016 230 2005-07-31 22:59
5774 Re:Java中的参数传递问题 xxxnn 45 2005-08-01 08:54
5723 Re:Java中的参数传递问题 ranchgirl 106 2005-08-17 04:33
5696 Re:Java中的参数传递问题 nevercompromise 3 2005-08-25 18:15

flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923