`

黑马程序员-编程基础03-单例设计模式

 
阅读更多

 

------- android培训java培训、期待与您交流! ----------  

设计模式:解决一类问题最行之有效的方法。Java中有23种设计模式。


单例设计模式:解决一个类的实例在内存中只存在一个

1.为了避免其他程序过多创建该类实例,先禁止其他程序创建该类实例,将构造器初始化

2.还为了让其他程序可以访问到该类实例,只好在该类中自己创建一个实例

3.为了方便其他程序对该类实例的访问,还要对外提供一些访问方式,就是提供一个方法返回该类的实例

* 饿汉式

public class Single {

    //1.将构造器私有化

    private Single() { }

    //2.自己创建实例

    private static final Single instance = new Single();

    //3.将实例提供给外部使用

    public static Single getInstance() { return instance; }

}

 

* 懒汉式

public class Single {

    //1.将构造器私有化

    private Single() { }

    //2.自己创建实例

    private static Single instance = null;

    //3.将实例提供给外部使用

    public static synchronized Single getInstance() {

          if (instance == null) {

                synchronized(Single.class) {

                      instance = new Single();

                }

          }

          return instance; 

    }

}

* 枚举

public enum Single {

    //1.枚举类的构造器默认私有化

    //2.自己创建实例

    instance;

    //3.将实例提供给外部使用

    public static Single getInstance() { return instance; }

}  

------- android培训java培训、期待与您交流! ----------   
详细请查看:http://edu.csdn.net/heima/ 
分享到:
评论

相关推荐

    黑马程序员入学Java精华总结

    ### 黑马程序员入学Java精华总结 #### 一、Java概述与基础知识 1. **何为编程?** - 编程是指通过编写计算机能够理解的指令来解决问题或完成特定任务的过程。这些指令通常被组织成算法,并使用某种编程语言实现。...

    黑马程序员匠心之作 C++教程_第2阶段实战-通讯录管理讲义.rar

    《黑马程序员匠心之作 C++教程_第2阶段实战-通讯录管理讲义》是一份针对C++初学者精心编写的教学材料,旨在帮助学习者掌握C++编程语言的基础知识,并通过实际的通讯录管理系统项目来提升编程技能。这份讲义以简洁...

    黑马程序员java面试宝典 完整版PDF.rar

    7. **设计模式**:常见的设计模式如单例、工厂、观察者、装饰者、适配器、代理等,面试中常用来考察你的代码设计能力。 8. **JVM**:了解内存模型(堆、栈、方法区、本地方法栈),垃圾回收机制(GC),类加载机制...

    黑马程序员面试宝典(java)2018版

    9. **设计模式** - 单例模式:了解懒汉式、饿汉式、双重检查锁定等单例实现方式。 - 工厂模式:简单工厂、工厂方法和抽象工厂模式的应用场景。 - 适配器模式、装饰器模式、观察者模式等在实际开发中的应用。 10....

    .Net黑马程序员视频之超市收银系统

    《.Net黑马程序员视频之超市收银系统》学习资源提供了深入了解和实践.NET技术在构建超市收银系统中的应用。此项目旨在帮助初学者通过实际操作掌握.NET框架的基础知识,包括但不限于C#编程语言、Windows Forms应用...

    黑马扫地僧C\C++\数据结构\算法\设计模式讲义.rar

    《黑马扫地僧C/C++\数据结构\算法\设计模式讲义》是一份全面且深入的编程学习资源,特别适合那些希望通过自学提升C/C++技能的开发者。这份讲义结合了理论与实践,旨在帮助读者掌握编程语言的基础,深化对数据结构的...

    黑马程序员入学Java知识

    ### 黑马程序员入学Java知识 #### Java概述与基础知识 1. **何为编程?** - 编程是通过特定的计算机语言来编写指令,让计算机能够执行一系列任务的过程。 2. **Java语言概述,历史、特点** - Java是一种广泛...

    01_黑马程序员_张孝祥_Java基础加强_课程价值与目标介绍.zip

    【标题】"01_黑马程序员_张孝祥_Java基础加强_课程价值与目标介绍.zip" 提供的是一门由黑马程序员机构推出的Java基础强化课程,由讲师张孝祥主讲,旨在深入讲解Java编程的基础知识并进行能力提升。 【描述】中提到...

    黑马程序员面试宝典(java).7z

    6. **设计模式**:工厂模式、单例模式、观察者模式、装饰器模式等23种设计模式是面试中的常见话题,理解其应用场景和优缺点。 7. **Spring框架**:Spring的核心特性如依赖注入(DI)、面向切面编程(AOP),以及...

    黑马程序员JAVA面试宝典2018年5月最新版

    这本书可能涵盖了Java语言基础、面向对象编程、JVM内存管理、多线程、并发编程、集合框架、IO流、网络编程、设计模式、数据库操作、Spring框架、MyBatis、微服务等相关领域。 首先,对于Java语言基础,书中的知识点...

    2023黑马面试宝典-Java面试宝典大全-java面试宝典黑马

    Java面试宝典是Java程序员求职面试的重要参考资料,它涵盖了Java编程语言的核心概念、高级特性、设计模式、并发处理、框架应用、数据库交互等多个方面。以下将详细解析这些关键知识点: 1. **Java基础**:面试中,...

    2018-2019年黑马最新版Java程序员面试宝典+题库pdf

    9. **设计模式**:学习常见的设计模式,如单例模式、工厂模式、建造者模式、装饰器模式、观察者模式等,并能灵活运用到实际项目中。 10. **框架应用**:重点介绍Spring框架,包括IoC容器、AOP(面向切面编程)、MVC...

    毕向东静态06

    在"黑马程序员_毕向东_Java基础视频教程第06天-09-面向对象(单例设计模式).avi" 这个文件中,毕向东老师可能会详细讲解以下内容: 1. **字符串基础**: - 字符串对象的创建:通过`new String()`或字面量`"abc"`。 ...

    Java基础、面试等综合练习

    - **设计模式**:工厂模式、单例模式、观察者模式等23种设计模式的运用。 - **系统设计**:高并发、高可用、分布式系统的设计原则和实践经验。 - **性能优化**:内存管理、JVM调优、SQL优化等方面的问题解答。 -...

    python面试宝典

    4. 设计模式 - 单例模式、工厂模式、装饰器模式、生成器模式等。 5. 面向对象编程 - 类与对象的创建和使用。 - 继承、多态、封装等面向对象的核心概念。 6. 正则表达式 - 字符串的模式匹配和文本处理。 ...

    2018最新版Java程序员面试宝典+题库

    这本书由"黑马程序员"机构出品,专门针对Java开发者在求职过程中的需求,帮助他们在面试中展现出扎实的技术功底。 1. **Java基础** - 类与对象:深入理解面向对象编程的基本概念,包括封装、继承、多态。 - 数据...

    java程序员必备的面试宝典秘籍.pdf

    理解类图、对象图、序列图、状态图等UML图,以及设计模式如单例、工厂、观察者、装饰器等。 三、XML: XML作为数据交换格式,需要理解其基本语法,包括元素、属性、命名空间、文档类型定义(DTD)和XML Schema,...

Global site tag (gtag.js) - Google Analytics