`

java,单例设计模式,详解

阅读更多
  • 单例设计模式(饿汉式)

 

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对于单例设计模式、多例设计模式更希望理解它设计的出发点:限制对象产生;

 

1
4
分享到:
评论

相关推荐

    java单例设计模式 4中实现方式,重点介绍了静态内部类的实现方式

    Java单例设计模式详解 Java单例设计模式是一种创建型设计模式,可以保证一个类只有一个实例,并提供全局访问点。单例模式在实际开发中经常使用,可以避免多个实例引起的资源浪费和同步问题。常见的Java实现方式有...

    Java 单例模式.pptx

    ### Java 单例模式详解 #### 一、什么是单例模式? 单例模式是一种常用的软件设计模式,在这种模式中,一个类只能拥有一个实例,并且该类必须自行创建并提供这个实例。通常,单例模式用于确保某个类在整个应用程序...

    Java设计模式-单例模式详解

    Java设计模式-单例模式详解 单例模式是 Java 设计模式中的一种常用的设计模式,旨在保证一个类仅有一个实例,并提供一个访问它的全局访问点。单例模式的目的是为了保证在一个进程中,某个类有且仅有一个实例。 ...

    java单例模式详解

    Java单例模式是一种常见的设计模式,它用于控制类的实例化过程,确保一个类在整个应用程序中只有一个实例存在。这种模式通常用于管理共享资源或者需要频繁创建和销毁的对象,以节省系统资源并提供全局访问点。 单例...

    java设计模式之单例模式详解

    Java设计模式之单例模式详解 一、单例模式概览 单例模式(Singleton Pattern)是面向对象设计模式中的一种,属于创建型模式。它确保一个类仅有一个实例,并提供一个全局访问点来访问该实例。单例模式的核心在于控制...

    单例模式详解~~单例模式详解~~

    单例模式是一种设计模式,它的主要目标是确保一个类只有一个实例,并提供一个全局访问点。在软件工程中,单例模式常用于控制资源的共享,比如数据库连接池、线程池或者日志系统等,这些资源通常需要全局唯一且高效地...

    java单例模式详解Java系列2021.pdf

    在软件工程中,单例模式是创建型设计模式之一,其目的是确保一个类仅有一个实例,并提供一个全局访问点。Java语言中的单例模式实现有多种方式,包括饿汉式、懒汉式和登记式单例。不同的实现方式适应不同的场景和需求...

    Java的单例设计模式详解

    总结来说,Java中的单例设计模式有多种实现策略,开发者需要根据实际需求平衡性能和线程安全。懒汉式适合资源消耗不大的情况,但在多线程环境下需要同步;饿汉式适合对性能要求较高且对象创建开销不大的场景;而双重...

    3.31单例模式(单例设计模式)详解.docx

    【单例模式详解】 单例模式是一种常用的软件设计模式,其主要目的是确保一个类在整个系统中只能有一个实例。这样做的好处在于节约系统资源,保证数据的一致性,以及避免因多个实例导致的潜在问题。例如,在Windows...

    Java之单例设计模式示例详解

    Java之单例设计模式示例详解 Java之单例设计模式是软件开发中常用的设计模式之一,它可以保证一个类在内存中只能有一个对象。单例设计模式的实现有多种方式,本文将通过示例代码详细介绍饿汉式和懒汉式两种实现方式...

    java23中设计模式详解

    Java中的23种设计模式是软件工程中非常重要的概念,它们是解决常见编程问题的成熟解决方案,被广泛应用于各种复杂的软件系统中。这些模式在不同的上下文中提供了可重用的结构和行为,使得代码更加清晰、可维护和扩展...

    java 单例模式的实例详解

    java 单例模式是指一种设计模式,确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在java中,单例模式分三种:懒汉式单例、饿汉式单例、登记式单例。单例模式有以下特点: 1. 单例类只能有一个...

    java23种设计模式详解+源码(绝对详解)

    在Java编程中,有23种经典的GoF(Gang of Four)设计模式,它们被分为三大类:创建型、结构型和行为型。本资源集合了这些模式的详细解释与源码分析,旨在帮助开发者深入理解和应用设计模式。 1. 创建型模式...

    java设计模式详解合集

    Java设计模式详解合集是一份宝贵的资源,包含了丰富的面向对象设计原则和多种设计模式的深入讲解。这份资料旨在帮助开发者提升软件设计能力,遵循良好的编程实践,提高代码的可读性、可维护性和复用性。以下是其中...

    java 多线程单例模式详解

    ### Java多线程单例模式详解 #### 一、单例模式概述 单例模式(Singleton Pattern)是一种常用的软件设计模式,它确保一个类仅有一个实例,并提供一个全局访问点。这种模式通常用于那些需要频繁实例化然后销毁的...

    9种Java单例模式详解(推荐)

    Java单例模式详解 Java单例模式是Java编程中的一种设计模式,旨在保证一个类仅有一个实例,并提供一个全局访问点。下面我们将对9种Java单例模式进行详细的介绍。 首先,单例模式的特点是: 1. 一个类只允许产生...

    java 设计模式详解

    Java设计模式详解涵盖了在Java编程中广泛使用的一些经典设计模式。这些模式不仅有助于提高代码的可读性、可维护性和可扩展性,还能促进团队之间的沟通与协作。下面,我们将深入探讨几个重要的Java设计模式。 1. ...

    详解JAVA单例模式及多种实现.doc

    Java中的单例模式是一种设计模式,它用于控制类的实例化过程,确保在整个应用程序中,一个类只有一个实例存在。这种模式常用于配置管理、缓存、日志记录、对话框、注册表设置、线程池等场景,以提高性能、减少资源...

    设计模式-单例设计模式

    ### 设计模式—单例设计模式详解 #### 定义 单例模式是一种常见的创建型设计模式,其核心思想在于确保一个类仅有一个实例存在,并且该实例由该类自行创建,随后向整个系统提供这一唯一实例。 #### 类图解析 在设计...

    java 单例模式和工厂模式实例详解.docx

    Java设计模式是面向对象编程中的一种最佳实践,它提供了一种标准的方式来解决常见的设计问题,使得代码更加可读、可维护。在这个文档中,我们主要关注两种设计模式:单例模式和工厂模式。 **单例模式** 是用来保证...

Global site tag (gtag.js) - Google Analytics