单例模式java
学号的单一
仿照课堂的身份证的例子,实现每个同学仅有一个学号这一问题。
代码按照图中顺序
package test6; public class main { public static void main(String[] args) { StudentNo x,y; x=StudentNo.getInstance(); y=StudentNo.getInstance(); System.out.println("学号是否一致"+(x==y)); String a,b; a=x.getStudentNo(); b=y.getStudentNo(); System.out.println("第一次学号是"+a); System.out.println("第二次学号是"+b); System.out.println("内容是否相等"+a.equals(b)); System.out.println("是否是相同对象"+(a==b)); } }
package test6; public class StudentNo { private static StudentNo instance=null; private String no; private StudentNo() {} public static StudentNo getInstance() { if(instance==null){ System.out.println("第一次注册,分配新的学号"); instance=new StudentNo(); instance.setStudentNo("20203935"); }else{ System.out.println("重复注册,获取旧的学号"); } return instance; } private void setStudentNo(String n) { no=n; } public String getStudentNo() { return no; } }