java程序求解:帮忙解决下面的问题,谢谢!

classStudent{staticStringschoolName;StringstudentName;}publicclassStudengManager{publ... class Student {
static String schoolName;
String studentName;
}

public class StudengManager {
public static void main(String[] args) {
Student s1 = new Student();
s1.schoolName = "guangximinzushifanxueyuan";
s1.studentName = "zhangsan";
System.out.println("s1的学校是:" + s1.schoolName);
System.out.println("s1的姓名是:" + s1.studentName);
System.out.println("---------");
Student s2 = new Student();
s2.schoolName = "rongxianzhongxue";
s2.studentName = "lisi";
System.out.println("s1的学校是:" + s1.schoolName);
System.out.println("s1的姓名是:" + s1.studentName);
System.out.println("s2的学校是:" + s2.schoolName);
System.out.println("s2的姓名是:" + s2.studentName);
}
}
为什么s1的校名一直变化??
这个是课本上解释static用法的一个例题,现在就是讨论s1的值为什么会变化。
展开
 我来答
百度网友404411818
2010-11-02
知道答主
回答量:27
采纳率:0%
帮助的人:21.4万
展开全部
class Student {
static String schoolName;
String studentName;
}
把static 去掉
别致且昂扬灬饼子3985
2010-11-02 · 超过14用户采纳过TA的回答
知道答主
回答量:65
采纳率:0%
帮助的人:43.6万
展开全部
。你这写法实在是太不规范了,哪有这么写的。
参数赋值,你应该放在构造函数内。
比如
public class Student{
private String schoolName;
private String studentName;

public Student(schoolName,studentName)
this.schoolName=schoolName;
this. studentName= studentName;
}
}
同时static String schoolName,去掉static
因共享一个空间,即s1调用它和s2调用它是一样的。可以用Student.schoolName,直接调用。
s2在调用它时就会刷新s1调用时的值。。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
伤了翅膀的人
2010-11-02 · TA获得超过101个赞
知道答主
回答量:44
采纳率:0%
帮助的人:31.4万
展开全部
去掉第二行的static就好了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式