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.注意编程规范。

 

posted @ 2021-10-19 21:12  我的未来姓栗山  阅读(30)  评论(0编辑  收藏  举报