Effective java 第三条

用私有构造器或者枚举类型强化Singleton属性。

 

两种方法:

第一种:

public class Elvis{
         public static final Elvis = new Elvis();
         private Elvis() {}
         public void leaveTheBuilding(){ 
         }
}

 

 

第二种:

public class Elvis{
        private static final INSTANCE = new Elvis();
        private Elvis() {}
        public static Elvis getInstance(){
                 return INSTANCE;
        }
}

 

 

但是这样也很有危险,对象就一份,大家都用,就可能导致同步的问题了。

 

你可能感兴趣的:(Effective Java)