永发信息网

关于java静态内部类形式的单例模式

答案:1  悬赏:60  手机版
解决时间 2021-11-20 19:59
  • 提问者网友:謫仙
  • 2021-11-19 23:35
关于java静态内部类形式的单例模式
最佳答案
  • 五星知识达人网友:琴狂剑也妄
  • 2021-11-20 00:35
static Singleton instance = new Singleton();  

static类型的成员变量,只会在新建类的对象时被执行一次。
所以static Singleton instance = new Singleton();   只有在第一次调用时,被new一次。之后获取的都是第一次执行的对象。所以称之为单例。
也可以使用老的写法,比较清晰一些。
class ABC {
   private static ABC instance;
   private ABC() {}
   public ABC getInstance() {
     if (instance==null)
         instance = new ABC();
      return instance;
   }
}
这样写法的缺点是效率不如
class ABC {
   private static ABC instance= new ABC();
   private ABC() {}
   public ABC getInstance() {
      return instance;
   }
}
这样写法高。追问jdk 1.5以后还是双检索的懒汉最好,强迫症,不喜欢饿汉形式
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯