首页 > 代码库 > 设计模式 --单例模式

设计模式 --单例模式

//简单的单例模式: 饿汉式: 类加载就创建对象
package
Run; class Main { public static void main(String[] args) { Single s = Single.getInstance(); Single ss = Single.getInstance(); System.out.println(s); System.out.println(ss); } } class Single{ static Single s = new Single(); private Single() {} public static Single getInstance() { return s;} }

技术分享

note: 两个对象引用的地址一样,说明来自于同一对象。注意书写getInstance方法时,需要将其静态化,因为外界无法new对象,那么只能通过类来访问。

因为getInstance方法静态了,所以其访问的成员变量也必须为静态。

 

/*
 * 懒汉模式,类加载还没有对象
 * 延迟加载 : delay-load
 */
class Single
{
    private static Single s = null;
    
    private Single() {}
    public static Single getInstance()
    {
        if ( s == null)
            s = new Single();
        return s;
    }
}

note: 线程不安全!可修改代码,但效率降低。

设计模式 --单例模式