Java-单例模式

所谓类的单态设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法。
1、如果我们要向让类在虚拟机中只产生一个对象,首先要把类的构造方法的访问权限设置为private。这样就不能用new操作符在类外直接产生对象。
2、调用该类内部的一个静态方法以返回类内部创建的对象。
3、静态方法只能访问类中的静态成员变量,所以,指向类内部产生的该类对象的变量也必须定义成静态的。静态方法返回的实例必须是该类类型的一个静态对象。而在类外如果想访问到的话只能把该方法设置成静态的,这样就可以通过类名加“.”访问该静态方法。如果是普通的成员方法,在外部没有办法使用new就没有办法访问到该方法,故此就无法获得类的实例。
4、代码演示
class Single{
   private static Single onlyone = new Single();//私有的,只能在类的内部访问
   private String name;
     public static Single getSingle() {   //static修饰
          return onlyone;
   }
   private Single() {}     //private的构造器,不能在类的外部创建该类的对象
}
public class TestSingle{
  public static void main(String args[]) {
          Single  s1 = Single.getSingle();      //访问静态方法
          Single  s2 = Single.getSingle();
          if (s1==s2){
               System.out.println("s1 is equals to s2!");
          }
  }
}

猜你喜欢

转载自fengwuhen1990.iteye.com/blog/2341919