JAVA日报
实验7:单例模式
本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:
1、理解单例模式的动机,掌握该模式的结构;
2、能够利用单列模式解决实际问题。
[实验任务一]:学号的单一
仿照课堂的身份证的例子,实现每个同学仅有一个学号这一问题。
StuNo.java
package com.a008;
public class StuNo
{
private static StuNo instance=null;
private String no;
private StuNo()
{
}
public static StuNo getInstance()
{
if(instance==null)
{
System.out.println("新学号");
instance=new StuNo();
instance.setStuNo("");
}
else
{
System.out.println("学号重复,获得旧学号");
}
return instance;
}
private void setStuNo(String no)
{
this.no=no;
}
public String getStuNo()
{
return this.no;
}
}
Client.java
package com.a008;
public class Client
{
public static void main(String a[])
{
StuNo no1,no2;
no1=StuNo.getInstance();
no2=StuNo.getInstance();
System.out.println("学号是否一致:" + (no1==no2));
String str1,str2;
str1=no1.getStuNo();
str2=no1.getStuNo();
System.out.println("第一次学号:" + str1);
System.out.println("第二次学号:" + str2);
System.out.println("内容是否相同:" + str1.equalsIgnoreCase(str2));
System.out.println("是否为相同对象:" + (str1==str2));
}
}
运行结果:
实验要求:
1. 画出对应的类图;
2.提交源代码;
3.注意编程规范。