单例模式——java实现
问题描述:
使用建造者模式,完成下述任务:计算机组装工厂可以将CPU、内存、硬盘、主机等硬件设备组装在一起构成计算机,计算机的类型可以是笔记本,也可以是台式机。
类图:
Java源代码:
//StudentNo.java package shiyan7; 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("20194024"); }else{ System.out.println("重复注册,获取旧的学号"); } return instance; } private void setStudentNo(String n) { no=n; } public String getStudentNo() { return no; } } //main.java package shiyan7; 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)); } }