public class huangdi{
private static huangdi huangdi;//定义一个皇帝
private huangdi(){
//约束不让你产生第二个皇帝
}
public static huangdi getInstance(){
if(huangdi==null){//如果没有皇帝 定义一个了;
huangdi=new huangdi();
}
return huangdi;
}
//皇帝叫什么
public static void huangdiinstance(){
system.out.println("爱心觉罗溥仪");
}
}
}
/*************************************************************************************/
再来一个大臣
public class dachen{
public static void main(String []args){
huangdi huangdi=huangdi.getInstance();//第一天见皇帝叫什么名字
huangdi.huangdiinstance();
huangdi huangd1i=huangdi.getInstance();//第二天见皇帝叫什么名字
huangd1i.huangdiinstance();
huangd2i huangdi=huangdi.getInstance();//第三天见皇帝叫什么名字
huangd2i.huangdiinstance();
//三天都是一个皇帝没换 幸运吧!
}
}
单例模式很简单,就是在构造函数中多了加一个构造函数,访问权限是 private 的就可以了,这个模
式是简单,但是简单中透着风险,风险?什么风险?在一个 B/S 项目中,每个 HTTP Request 请求到 J2EE
的容器上后都创建了一个线程,每个线程都要创建同一个单例对象
publi class Errore{
private static final Errore errore=new Errore();
private Errore(){
}
private synchronized static Errore geinstance(){
return errore;
}
}