实验7:单例模式
本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:
1、理解单例模式的动机,掌握该模式的结构;
2、能够利用单列模式解决实际问题。
[实验任务一]:学号的单一
仿照课堂的身份证的例子,实现每个同学仅有一个学号这一问题。
实验要求:
1. 画出对应的类图;
2. 提交源代码;
package RJSJ.test7;
public class Client {
public static void main(String[] args) {
Student no1,no2;
no1=Student.getInstance();
no2=Student.getInstance();
System.out.println("身份是否一致:"+(no1==no2));
String id1,id2;
id1=no1.getStudentId();
id2=no2.getStudentId();
System.out.println("第一次申请学号:"+ id1);
System.out.println("第二次申请学号:"+ id2);
System.out.println("学号是否一样:"+ id1.equalsIgnoreCase(id2));
System.out.println("是否是相同对象:"+ (id1 == id2));
}
}
package ruanjiansheji.shiyan7;
public class Student {
private static Student instance =null;
private String Id;
private Student(){}
public static Student getInstance(){
if(instance == null){
System.out.println("第一次申请,分配学号");
instance = new Student();
instance.setStudentId(String.valueOf(System.currentTimeMillis()));
}else {
System.out.println("获取旧学号");
}
return instance;
}
private void setStudentId(String valueOf) {
this.Id=valueOf;
}
public String getStudentId() {
return this.Id;
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律