标题:谁知道答案是多少?为什么?
只看楼主
gao789li123
Rank: 2
等 级:论坛游民
帖 子:6
专家分:25
注 册:2014-6-25
结帖率:100%
已结贴  问题点数:20 回复次数:3 
谁知道答案是多少?为什么?
谁知道答案是多少?为什么?
package de;

public class TestStudent {
   
     public static void main(String args[]) {
             TestStudent ts = new TestStudent();
            Student student = new Student();  
            student.setId(1);  
            student.setName("elong");  
            student.setClassId(1);  
            
            ts.change(student);  
            System.out.println(student);  
        }  
        public void change(Student student){  
            Student student2 = new Student();  
            student2.setId(2);  
            student2.setName("elongdeo");  
            student2.setClassId(2);  
         
            student.setId(3);  
            student.setName("dingyinlong");  
            student.setClassId(3);  
           
            student = student2;   
        
            student.setId(4);  
            student.setName("yinlong");  
            student.setClassId(4);  
        }  

}
搜索更多相关主题的帖子: package public change elong 
2014-06-28 16:06
gao789li123
Rank: 2
等 级:论坛游民
帖 子:6
专家分:25
注 册:2014-6-25
得分:0 
答案显示输出的是
2014-06-28 16:07
llt2013
Rank: 2
等 级:论坛游民
帖 子:15
专家分:20
注 册:2013-12-28
得分:20 
回复 楼主 gao789li123
是因为我只是初入门java吗?我怎么看不懂你的程序?
Student student = new Student();  //我也没有看到这个类啊!!
 public void change(Student student)中 Student student什么意思啊?应该是String student吧??
2014-06-28 22:05
qizhongshun
Rank: 2
等 级:论坛游民
威 望:1
帖 子:31
专家分:26
注 册:2011-9-16
得分:0 
TestStudent ts = new TestStudent();
            Student student = new Student();
两条语句分别new出了两个对象, 一个是ts,一个是student
 ts.change(student); 调用change()方法,而你这里输出的是System.out.println(student);
也就是执行第二条语句 调用student对象而不是ts,所以执行结果显示的student对象的属性值。
2014-06-30 19:11



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-433446-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.476672 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved