java中的单例模式
HK学习笔记
首先定义一个皇帝
Emperor.java
public class Emperor {
private static final Emperor emperor = new Emperor() ;
//private 的构造方法使其它类不能再把这个对象new 出来
private Emperor(){
}
//为什么要synchronized 因为:线程安全的问题
public synchronized static Emperor getInstance(){
return emperor;
}
public void emperorInfo(){
System.out.println("I am hk little emperor ");
}
}
再定义一个大臣
public class Minister {
public static void main(String[] args) {
Emperor emperor1 = Emperor.getInstance();
emperor1.emperorInfo();
Emperor emperor2 = Emperor.getInstance();
emperor2.emperorInfo();
Emperor emperor3 = Emperor.getInstance();
emperor3.emperorInfo();
}
}
结果:
I am hk little emperor
I am hk little emperor
I am hk little emperor
下面是uml图