[实验任务一]:学号的单一
仿照课堂的身份证的例子,实现每个同学仅有一个学号这一问题。
package Tutorial_7; /** * @author mendianyu */ public class StuID { // 单例模式中的实例 private static StuID instance = null; // 学号 private String id; private StuID() { //私有构造函数,确保只能通过getInstance()获取实例 } public static StuID getInstance() { if (instance == null) { System.out.println("第一次办理校园卡,分配新学号"); // 创建新的实例 instance = new StuID(); // 设置学号 instance.setID("20213971"); } else { System.out.println("重复办理校园卡,获取旧学号"); } return instance; } //设置学号 private void setID(String id) { this.id = id; } //获取学号 public String getID() { return this.id; } } package Tutorial_7; /** * @author mendianyu */ public class Client { public static void main(String[] args) { // 声明两个学号对象引用变量 StuID id1, id2; // 获取第一个学号对象 id1 = StuID.getInstance(); // 获取第二个学号对象 id2 = StuID.getInstance(); // 检查两个学号对象是否相同 System.out.println("学号是否一致: " + (id1 == id2)); // 声明两个学号值变量 String str1, str2; // 获取学号的值 str1 = id1.getID(); str2 = id2.getID(); System.out.println("第一次学号: " + str1); System.out.println("第二次学号: " + str2); System.out.println("内容是否相等: " + (str1.equalsIgnoreCase(str2))); System.out.println("是否是相同对象: " + (str1 == str2)); } }
标签:String,System,模式,单例,println,StuID,id,out From: https://www.cnblogs.com/mendianyu/p/17828764.html