- 单例设计模式(饿汉式)
class Singleton { // 编写一个普通类 private static final Singleton INSTANCE = new Singleton() ; private Singleton() {} // 构造方法私有了 public static Singleton getInstance() { return INSTANCE ; } public void print() { System.out.println("www.baidu.com") ; } } public class TestDemo { public static void main(String args[]) { Singleton inst = null ; // 声明对象 inst = Singleton.getInstance() ; inst.print() ; } }
构造方法私有化,外部无法产生新的实例化对象,只能够通过类提供的static方法取得唯一的一个对象的引用。
对于单例设计模式有两类:饿汉式(以上代码)、懒汉式。
· 饿汉式:不管程序中是否有对象需要使用此类,那么此类的对象都实例化好;
· 懒汉式:在第一次使用的时候才进行实例化。
- 范例:观察懒汉式
class Singleton { // 编写一个普通类 private static Singleton instance ; private Singleton() {} // 构造方法私有了 public static Singleton getInstance() { if (instance == null) { instance = new Singleton() ; // 需要的时候进行实例化 } return instance ; } public void print() { System.out.println("www.mldn.cn") ; } } public class TestDemo { public static void main(String args[]) { Singleton inst = null ; // 声明对象 inst = Singleton.getInstance() ; inst.print() ; } }
- 多例设计模式
不管是单例设计还是多例设计,本质就一个:构造方法私有化,内部产生实例化对象,只不过单例设计只产生一个,多例设计会产生多个。
例如:现在要求描述一周时间数的类,只能够有七个对象;
例如:例如要求描述性别的类,只能有两个。
范例:性别的描述
class Sex { public static final int MALE_CH = 1 ; public static final int FEMALE_CH = 2 ; private static final Sex MALE = new Sex("男") ; private static final Sex FEMALE = new Sex("女") ; private String title ; private Sex(String title) { this.title = title ; } public static Sex getInstance(int ch) { switch(ch) { case MALE_CH : return MALE ; case FEMALE_CH : return FEMALE ; default : return null ; } } public String toString() { return this.title ; } } public class TestDemo { public static void main(String args[]) { Sex sex = Sex.getInstance(Sex.MALE_CH) ; System.out.println(sex) ; } }
多例只是单例的一种衍生品,本质上没有区别。
1、对于单例设计模式、多例设计模式更希望理解它设计的出发点:限制对象产生;
相关推荐
Java单例设计模式详解 Java单例设计模式是一种创建型设计模式,可以保证一个类只有一个实例,并提供全局访问点。单例模式在实际开发中经常使用,可以避免多个实例引起的资源浪费和同步问题。常见的Java实现方式有...
### Java 单例模式详解 #### 一、什么是单例模式? 单例模式是一种常用的软件设计模式,在这种模式中,一个类只能拥有一个实例,并且该类必须自行创建并提供这个实例。通常,单例模式用于确保某个类在整个应用程序...
Java设计模式-单例模式详解 单例模式是 Java 设计模式中的一种常用的设计模式,旨在保证一个类仅有一个实例,并提供一个访问它的全局访问点。单例模式的目的是为了保证在一个进程中,某个类有且仅有一个实例。 ...
Java单例模式是一种常见的设计模式,它用于控制类的实例化过程,确保一个类在整个应用程序中只有一个实例存在。这种模式通常用于管理共享资源或者需要频繁创建和销毁的对象,以节省系统资源并提供全局访问点。 单例...
Java设计模式之单例模式详解 一、单例模式概览 单例模式(Singleton Pattern)是面向对象设计模式中的一种,属于创建型模式。它确保一个类仅有一个实例,并提供一个全局访问点来访问该实例。单例模式的核心在于控制...
单例模式是一种设计模式,它的主要目标是确保一个类只有一个实例,并提供一个全局访问点。在软件工程中,单例模式常用于控制资源的共享,比如数据库连接池、线程池或者日志系统等,这些资源通常需要全局唯一且高效地...
在软件工程中,单例模式是创建型设计模式之一,其目的是确保一个类仅有一个实例,并提供一个全局访问点。Java语言中的单例模式实现有多种方式,包括饿汉式、懒汉式和登记式单例。不同的实现方式适应不同的场景和需求...
总结来说,Java中的单例设计模式有多种实现策略,开发者需要根据实际需求平衡性能和线程安全。懒汉式适合资源消耗不大的情况,但在多线程环境下需要同步;饿汉式适合对性能要求较高且对象创建开销不大的场景;而双重...
【单例模式详解】 单例模式是一种常用的软件设计模式,其主要目的是确保一个类在整个系统中只能有一个实例。这样做的好处在于节约系统资源,保证数据的一致性,以及避免因多个实例导致的潜在问题。例如,在Windows...
Java之单例设计模式示例详解 Java之单例设计模式是软件开发中常用的设计模式之一,它可以保证一个类在内存中只能有一个对象。单例设计模式的实现有多种方式,本文将通过示例代码详细介绍饿汉式和懒汉式两种实现方式...
Java中的23种设计模式是软件工程中非常重要的概念,它们是解决常见编程问题的成熟解决方案,被广泛应用于各种复杂的软件系统中。这些模式在不同的上下文中提供了可重用的结构和行为,使得代码更加清晰、可维护和扩展...
java 单例模式是指一种设计模式,确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在java中,单例模式分三种:懒汉式单例、饿汉式单例、登记式单例。单例模式有以下特点: 1. 单例类只能有一个...
在Java编程中,有23种经典的GoF(Gang of Four)设计模式,它们被分为三大类:创建型、结构型和行为型。本资源集合了这些模式的详细解释与源码分析,旨在帮助开发者深入理解和应用设计模式。 1. 创建型模式...
Java设计模式详解合集是一份宝贵的资源,包含了丰富的面向对象设计原则和多种设计模式的深入讲解。这份资料旨在帮助开发者提升软件设计能力,遵循良好的编程实践,提高代码的可读性、可维护性和复用性。以下是其中...
### Java多线程单例模式详解 #### 一、单例模式概述 单例模式(Singleton Pattern)是一种常用的软件设计模式,它确保一个类仅有一个实例,并提供一个全局访问点。这种模式通常用于那些需要频繁实例化然后销毁的...
Java单例模式详解 Java单例模式是Java编程中的一种设计模式,旨在保证一个类仅有一个实例,并提供一个全局访问点。下面我们将对9种Java单例模式进行详细的介绍。 首先,单例模式的特点是: 1. 一个类只允许产生...
Java设计模式详解涵盖了在Java编程中广泛使用的一些经典设计模式。这些模式不仅有助于提高代码的可读性、可维护性和可扩展性,还能促进团队之间的沟通与协作。下面,我们将深入探讨几个重要的Java设计模式。 1. ...
Java中的单例模式是一种设计模式,它用于控制类的实例化过程,确保在整个应用程序中,一个类只有一个实例存在。这种模式常用于配置管理、缓存、日志记录、对话框、注册表设置、线程池等场景,以提高性能、减少资源...
### 设计模式—单例设计模式详解 #### 定义 单例模式是一种常见的创建型设计模式,其核心思想在于确保一个类仅有一个实例存在,并且该实例由该类自行创建,随后向整个系统提供这一唯一实例。 #### 类图解析 在设计...
Java设计模式是面向对象编程中的一种最佳实践,它提供了一种标准的方式来解决常见的设计问题,使得代码更加可读、可维护。在这个文档中,我们主要关注两种设计模式:单例模式和工厂模式。 **单例模式** 是用来保证...