软件设计 石家庄铁道大学信息学院
实验7:单例模式
本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:
1、理解单例模式的动机,掌握该模式的结构;
2、能够利用单列模式解决实际问题。
[实验任务一]:学号的单一
仿照课堂的身份证的例子,实现每个同学仅有一个学号这一问题。
实验要求:
1. 画出对应的类图;
![]()
2. 提交源代码;
Main:
public class Main {
public static void main(String[]
args) {
StudentNo x,y;
x=StudentNo.getInstance();
y=StudentNo.getInstance();
System.out.println("学号是否一致"+(x==y));
String a,b;
a=x.getStudentNo();
b=y.getStudentNo();
System.out.println("第一次学号是"+a);
System.out.println("第二次学号是"+b);
System.out.println("内容是否相等"+a.equals(b));
System.out.println("是否是相同对象"+(a==b));
}
}
StudentNo:
public class StudentNo {
private static StudentNo instance=null;
private String no;
private StudentNo() {}
public static StudentNo getInstance()
{
if(instance==null){
System.out.println("第一次注册,分配新的学号");
instance=new
StudentNo();
instance.setStudentNo("20224089");
}else{
System.out.println("重复注册,获取旧的学号");
}
return instance;
}
private void setStudentNo(String n) {
no=n;
}
public String getStudentNo() {
return no;
}
}
运行结果:
![]()
posted @
2024-11-09 15:49
连师傅只会helloword
阅读(
6)
评论()
收藏
举报