首页 新闻 会员 周边

高手请用专业语言解释下这段断码输出结果为什么??

0
[已解决问题] 解决于 2014-02-14 09:39

public static void main(String args[]) {
Person person1 = new Person();
person1.setName("1");
Person person2 = new Person();
person2.setName("2");
System.out.println(person2.getName());
person2 = person1;
System.out.println(person2.getName());
person1.setName("11");
System.out.println(person2.getName());
}

你的月亮我的心cy的主页 你的月亮我的心cy | 菜鸟二级 | 园豆:243
提问于:2014-02-12 17:04
< >
分享
最佳答案
0

Person person1 = new Person();
person1.setName("1");
Person person2 = new Person();
person2.setName("2");
System.out.println(person2.getName()); //输出person2.Name 2
person2 = person1; //把person1的值给person2
System.out.println(person2.getName()); //person2.Name=person1.Name=1
person1.setName("11");
System.out.println(person2.getName());//person2.Name=person1.Name=11

对象是引用类型  

person2 = person1;是把person2的引用地址指向penson1的引用地址

person1.setName("11");修改的是他们2个引用的地址所以输出也会是11

奖励园豆:5
微风吹过12x | 初学一级 |园豆:73 | 2014-02-12 17:18

灰常感谢!

你的月亮我的心cy | 园豆:243 (菜鸟二级) | 2014-02-12 17:19
其他回答(2)
0

....................

迅捷网络[来送福利] | 园豆:576 (小虾三级) | 2014-02-13 13:21
0

这个太基础了吧。先自学

angelshelter | 园豆:9887 (大侠五级) | 2014-02-13 21:06
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册