单例模式

什么是单例模式(singleton)?即一个类只会生成唯一的一个对象/实例.

为了保证每个类只能生成一个对象,要用到private的构造方法,即别的类中不能new这个单例类。

既然构造方法是private的,只能在这个单例类中先生成一个对象和一个public get..{return...}方法,然后再让别的类调用这个方法,并且只能使用类名.方法的方式调用(私有构造方法的存在使其不能new一个新的对象),所以上面那个方法必须还是static的。

在单例模式中,Singleton这个类只在其自己的内部new了一下,只是生成了一个对象,在别的类里面不能通过new的方式生成新的对象,从而保证了它只能有一个对象。

public class SingletonTest
{
    public static void main(String[] args)
    {
        Singleton singleton = Singleton.getInstance();
        Singleton singleton2 = Singleton.getInstance();

        System.out.println( singleton == singleton2 );
    }    
}


class Singleton
{
    private static Singleton singleton = new Singleton();
    private Singleton()
    {
    
    }
        
    public static Singleton getInstance()
    {
        return singleton;
    }
    
}

posted on 2013-02-14 19:38  王志强~  阅读(105)  评论(0编辑  收藏  举报

导航