10.23日报
今天完成软件设计实验,以下为实验内容:
实验7:单例模式
本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:
1、理解单例模式的动机,掌握该模式的结构;
2、能够利用单列模式解决实际问题。
[实验任务一]:学号的单一
仿照课堂的身份证的例子,实现每个同学仅有一个学号这一问题。
实验要求:
1. 画出对应的类图;
2. 提交源代码;
- public class Student {
private static Student instance; // 静态实例
private int studentId; // 学生ID
// 私有构造函数
private Student() {
}
// 获取单例对象
public static synchronized Student getInstance() {
if (instance == null) {
instance = new Student();
}
return instance;
}
// 设置学生ID
public void setStudentId(int id) {
studentId = id;
}
// 获取学生ID
public int getStudentId() {
return studentId;
}
public static void main(String[] args) {
// 获取学生对象并设置学号
Student student1 = Student.getInstance();
student1.setStudentId(20240001);
// 再次获取学生对象,应该与student1相同
Student student2 = Student.getInstance();
// 输出学号,验证两个对象是否为同一对象
System.out.println("Student 1 ID: " + student1.getStudentId());
System.out.println("Student 2 ID: " + student2.getStudentId());
}
}
3.注意编程规范。