软件设计 石家庄铁道大学信息学院
实验7:单例模式
本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:
1、理解单例模式的动机,掌握该模式的结构;
2、能够利用单列模式解决实际问题。
[实验任务一]:学号的单一
仿照课堂的身份证的例子,实现每个同学仅有一个学号这一问题。
实验要求:
1. 画出对应的类图;
2.提交源代码;
Client.java
package ruanshe7;
public class Client {
public static void main(String a[]) {
StudentID stu1,stu2;
String id1,id2;
System.out.println("第一次生成学生");
stu1 = StudentID.getInstance();
System.out.println("第二次生成学生");
stu2 = StudentID.getInstance();
System.out.println("两学生学号是否一致:" + (stu1==stu2));
id1 = stu1.getStudentID();
id2 = stu1.getStudentID();
System.out.println("第一次产生的学号:" + id1);
System.out.println("第二次产生的学号:" + id2);
System.out.println("内容是否相等:" + id1.equalsIgnoreCase(id2));
System.out.println("是否是相同对象:" + (id1==id2));
}
}
StudentID.java
package ruanshe7;
public class StudentID {
private static StudentID instance = null;
private String id;
private StudentID(){}
public static StudentID getInstance() {
if (instance == null) {
System.out.println("学生信息注册,分配学号!");
instance = new StudentID();
instance.setStudentID("20214145");
} else {
System.out.println("学生信息已经被注册,获取其已经存在的学号!");
}
return instance;
}
private void setStudentID(String id) {
this.id = id;
}
public String getStudentID() {
return this.id;
}
}
3.注意编程规范。
标签:24,总结,StudentID,String,学号,每日,System,println,out From: https://www.cnblogs.com/mine-my/p/17808755.html