大三打卡(11.6)

实验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;

    }

}

posted @   夏季彼岸德  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示