Java 单态设计模式

来源:互联网 发布:python自动化运维意义 编辑:程序博客网 时间:2024/05/22 14:28

单态设计模式的实现有两种方式 :

(1)、第一种形式:定义一个类,它的构造函数为private , 它有一个静态实例对象,并且此对象访问范围被设置为private , 通过 getInstance 方法获取此对象的引用,继而调用此对象的相关方法:


public class TestSingle{//形式一
   private static final TestSingle onlyone=new TestSingle();
   //前面加private static final修饰后只能产生一个对象  
   private TestSingle(){
      //不能在类的外部new但在类的内部可以
   }
   public static TestSingle getTestSingle(){
     return onlyone;//外面只能通过方法调用获得一个对象
   }
}

 

 

(2)、不每次都产生对象,只要第一次使用时生成示例即可,提高了编程和运行效率。

public class Singleton { // 形式二
private static Singleton instance = null;
public static synchronized Singleton getInstance() {
// 这个方法比上面有所改进,不用每次都进行生成对象,只是第一次
// 使用时生成实例,提高了效率!
          if (instance==null){
               instance=new Singleton();
           }
           return instance;
    }
}