[关闭]
@liruiyi962464 2017-06-16T03:35:11.000000Z 字数 1011 阅读 480

面向对象 单例模式

java

单例模式之懒汉模式

  1. /*
  2. * 单例模式之懒汉模式
  3. * 单利模式的核心思想是对象只能被创建一次
  4. * 为了达到这个目的将构造方法设为私有的(不在通过new的方式创建对象)
  5. * 当我们要用的时候才去创建镀对象
  6. * */\
  7. public class LazySingLeTom {
  8. private static LazySingLeTom lsl = null;
  9. private LazySingLeTom(){
  10. System.out.println("你好哦!我不是单利模式!!!");
  11. }
  12. //通过一个普通方法创建一次对象,并返回
  13. public static LazySingLeTom getInstance(){
  14. if(lsl == null){//只有对象没有被创建的时候才去创建对象
  15. lsl = new LazySingLeTom();
  16. }
  17. return lsl;
  18. }
  19. }
  1. public static void main(String[] args) {
  2. //只运行了一次 对象只被生成一次
  3. LazySingLeTom lay1 = LazySingLeTom.getInstance();
  4. LazySingLeTom lay2 = LazySingLeTom.getInstance();
  5. LazySingLeTom lay3 = LazySingLeTom.getInstance();
  6. }

单例模式之饿汉模式

  1. /*
  2. * 单例模式之饿汉模式
  3. * */
  4. public class HungrySingLeTom {
  5. //一开始就创建好对象
  6. private static HungrySingLeTom hs = new HungrySingLeTom();
  7. private HungrySingLeTom(){
  8. System.out.println("单例模式之饿汉模式!!!");
  9. }
  10. public static HungrySingLeTom getInstance(){
  11. if(hs == null){
  12. hs = new HungrySingLeTom();
  13. }
  14. return hs;
  15. }
  1. public static void main(String[] args) {
  2. //只运行了一次 对象只被生成一次
  3. HungrySingLeTom hs1 = HungrySingLeTom.getInstance();
  4. HungrySingLeTom hs2 = HungrySingLeTom.getInstance();
  5. HungrySingLeTom hs3 = HungrySingLeTom.getInstance();
  6. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注