其他分享
首页 > 其他分享> > 单例设计模式

单例设计模式

作者:互联网

单例设计模式:保证一个类仅有一个实例,并提供一个访问他的全局访问点。

 

1、构造方法是私有化

2、声明一个本类对象

3、给外部提供一个静态方法获取对象实例

 

两种实现方式:

1、饿汉式:在类被加载后对象被创建,到程序结束后释放

2、懒汉式:在第一次调用getSingleton方法时对象被创建,到程序结束后释放

 

Demo如下:

public class Test {
    public static void main(String[] args) {
        Singleton s1 = Singleton.getSingleton();
        Singleton s2 = Singleton.getSingleton();
        System.out.println(s1==s2);//打印结果为true,说明ok
        Singleton1 s3 = Singleton1.getSingleton();
        Singleton1 s4 = Singleton1.getSingleton();
        System.out.println(s3==s4);//打印结果为true,说明ok

    }
}
//饿汉式
class Singleton{
    private Singleton(){}
    private static Singleton s= new Singleton();
    public static Singleton getSingleton(){
        return s;
    }
    public void print(){
        System.out.println("ok");
    }
}
//懒汉式
class Singleton1{
    private Singleton1(){}
    private static Singleton1 s;
    public static Singleton1 getSingleton(){
        if(s==null){
            s= new Singleton1();
        }
        return s;
    }
    public void print(){
        System.out.println("ok");
    }
}

 

标签:Singleton,System,getSingleton,static,单例,Singleton1,设计模式,public
来源: https://www.cnblogs.com/wenbiquan/p/11082460.html