qwb0614

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  187 随笔 :: 0 文章 :: 0 评论 :: 2048 阅读

实验7:单例模式

本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:

1、理解单例模式的动机,掌握该模式的结构;

2、能够利用单列模式解决实际问题。

 
   

 


[实验任务一]:学号的单一

仿照课堂的身份证的例子,实现每个同学仅有一个学号这一问题。

实验要求:

1.  画出对应的类图;

 

 

2.提交源代码;

3.注意编程规范。

 

复制代码
package ruanjiansheji.shiyan7;

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;
    }
}
复制代码

 

posted on   嘎嘎鸭1  阅读(6)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示