24.面向对象-----单例模式

Posted 897463196-a

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了24.面向对象-----单例模式相关的知识,希望对你有一定的参考价值。

1.定义

  所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法。

2.恶汉式

class Singleton{
    //1.私有化构造器
    private Singleton(){

    }

    //2.类内部提供一个当前类的私有实例
    //3.此实例也必须静态化
    private static Singleton single = new Singleton();

    //4.提供公共的静态方法返回当前对象
    public static Singleton getInstance(){
        return single;
    }
}

3.懒汉式

class Singleton{
    //1.私有化构造器
    private Singleton(){

    }

    //2.类内部提供一个当前类的私有实例
    //3.此实例也必须静态化
    private static Singleton single;

    //4.提供公共的静态方法返回当前对象
    public static Singleton getInstance(){
        if (single == null) {
            single = new Singleton();
        }
        return single;
    }
}

注意:懒汉式存在线程安全问题。

 

 

作者:Java之美

日期:2020-03-29

以上是关于24.面向对象-----单例模式的主要内容,如果未能解决你的问题,请参考以下文章

No.24总结

七面向对象之单例设计模式

Java面向对象--单例(Singleton)设计模式和main方法

python面向对象, 单例模式

《设计模式:可复用面向对象软件的基础》之单例模式

面向对象知识点续及单例模式