java单例设计模式

来源:互联网 发布:java全局map 编辑:程序博客网 时间:2024/06/05 04:36
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

1饿汉式

public class A{

private static A a = new A();

private A(){}

public static A getInstance(){

return a;

}


}

-----------------------------------------------------------------------------------------------

2.懒汉式

public class B{

privateB(){}

private static B b = null;

publlicstatic B getInstance(){

if(b==null){

b = new B();

}

return b;

}

}

---------------------------------------------------------------------------------------------

3. 多线程下

public class C{

private C(){}

private static C c =null;

public static C getInstance(){

if(c==null){

synchronized(C.class){

if(c==null){

c = new C();

}

}

            }

       }

return c;

}

}


--------------------------------------------------------------------------------------------------------

public D{


private D(){}

private static class D_Holder{

public final static D d = new D();

}

public static D getInstance(){

return D_Holder.d;

}

}

--------------------------------------------------------------------------------------------------------------------------------------

//E.D.getName();------------------------>

enum E {
D("单例", 20); //构造---
private String name;
private int age;


private E(String name, int age) {
this.name = name;
this.age = age;
}


public String getName() {
return name;
}


public void setName(String name) {
this.name = name;
}


public int getAge() {
return age;
}


public void setAge(int age) {
this.age = age;
}


}

0 0