java单例模式

来源:互联网 发布:一级域名备案 编辑:程序博客网 时间:2024/06/01 08:25

单例模式是指:

 这个类只能创建一个实例(构造函数必须是私有的)。

 这个类必须自己创建实例。

 这个唯一的实例必须供所有其他对象使用。

//饿汉式public class Singleton {private Singleton() {}//初始化单例  但此单例只能在同类中的方法中被调用(private),且不能重新被实例化(final),静态方法只能访问此类其他静态成员(static)//下面这句代码在类加载时就会被执行        private static final Singleton singleton = new Singleton(); //自己定义实例并供其他对象使用 (static)public static Singleton getsingle(){return singleton;}} 
懒汉式

public class Singleton{private Singleton() {}//声明一个对象,这个对象只能被同类方法调用(private),且可以改变对象是否被实例化的状态(static)private static Singleton singleton = null;public static Singleton getSingleton(){if(singleton == null){singleton = new Singleton();}return singleton;}}

理想的单例模式

public class Singleton{private Singleton() {}//静态内部类在调用时才会被执行private static class SingletonGet{private static final Singleton singleton = new Singleton();}public static Singleton getSingleton(){return SingletonGet.singleton;}}


0 0