tt_mc

导航

Singleton单例模式

怎么让一个类生成惟一的实例?

在讲构造方法的时候提到过,我们在创建一个实例的时候构造方法一定会被调用的,不管这个类有几个构造方法,其中的一个构造方法一定会被调用。

因为构造方法一定会被调用,所以我们考虑从构造方法来入手。

假如说我们提供私有的构造方法,私有的构造方法,只有类自己可以访问。

 

public class SingletonTest {

    public void static main(String[] args){
        Singleton s = new Singleton();/*这里编译会报错,因为在SingletonTest类里面访问不到Singleton的私有构造方法。*/

    }
}

class Singleton {
    private Singleton(){

     }
}


所以采用下面的形式来获得单例:

 

public class SingletonTest {

    public void static main(String[] args){
        Singleton s = Singleton.getInstance();
    }
}

class Singleton {

    private static Singleton  instance =           new      Singleton();
    private Singleton(){

     }

   public static Singleton getInstance(){
       return instance;
   }
}

 

 

posted on 2012-03-03 23:39  tt_mc  阅读(359)  评论(0编辑  收藏  举报