最近在学习的过程中遇到了java的单态模式,有点头晕!于是在网上搜集了点资料整理一下。
单态模式的定义:就是保证java应用程序里一个类里只能有一个实例
单态模式的实现:·限制某个类只能在该类内部生成对象,我们可以把类中的声明函数定义限制为private
·其他的类要访问该类的对象,就需要一个静态的函数,该函数返回本类的对象成员
·在类内部生成一个静态实例
public class Singleton {
private Singleton(){}
//在自己内部定义自己一个实例,是不是很奇怪?
//注意这是private 只供内部调用
private static Singleton instance = new Singleton();
//这里提供了一个供外部访问本class的静态方法,可以直接访问
public static Singleton getInstance() {
return instance;
}
}
java单态类的简单实现代码:
package com.sdjt.study.java;
/**
* @author:lyy
* @version 创建时间:2009-8-8 上午09:27:27
* 类说明
*/
public class Onlyone {
static Onlyone myOnlyone;
static int add = 0;
/**
* 初始化方法 定义为私有的。
*
*/
private Onlyone(){
System.out.println("哈哈,我是一个单态类的实例!");
}
/**
* getOnlyone将对象实例化的方法,
* 原理也是调用初始化方法。
* 但调用之前先判断myOnlyone是否为空,
* 如果不为空那么返回myOnlyone,
* 如果为空那么调用初始化方法将对象实例化。
* 这样保证这个对象只有一个实例。
* 在实际应用中这种单态类经常用到。
* @return
*/
public static Onlyone getMyOnlyone(){
if(myOnlyone != null){
return myOnlyone;
}
myOnlyone = new Onlyone();
return myOnlyone;
}
/**
* 察看add值的方法
* @return
*/
public static int getAdd(){
return add;
}
/**
* 不管写什么类最好都重载toString()函数
* 因为什么??
* 老师说的,记住就好了!
*/
public String toString(){
return ("add = "
+ add);
}
/**
* @param args
*/
public static void main(String[] args) {
Onlyone myonlyone = Onlyone.getMyOnlyone();
System.out.println("进行第一次构造 Onlyone 的实例后:add = " + Onlyone.getAdd());
Onlyone myonlyone2 = Onlyone.getMyOnlyone();
System.out.println("进行第二次构造 Onlyone 的实例后:add = " + Onlyone.getAdd());
//可以看到第二次没有输出"哈哈,我是一个单态的实例!"并且add的值仍然是0
//说明Onlyone类只有一个实例存在
}
}
分享到:
相关推荐
### Java中单态设计模式详解 #### 一、引言 设计模式是在长期软件开发过程中提炼出来的最佳实践,它们提供了一种标准化的方式用于解决特定类型的问题。对于Java开发者而言,熟悉并掌握各种设计模式是非常重要的,...
在面向对象编程中,单态模式保证一个类只有一个实例,并提供一个全局访问点。在单态登录的场景下,这个实例通常是一个包含用户登录状态信息的对象。 1. **单态模式实现**: - 在Java中,我们通常通过私有构造函数...
是个使用java实现的单态例子,开始接触java单态的或是不了解单态是怎么实现的同僚,是个不错的参考
单态模式,是一种常用的软件设计模式,其核心思想是确保一个类在整个应用程序中只有一个实例,并提供全局访问点。这种模式的出现主要是为了解决对象创建的控制问题,特别是在某些需要频繁创建和销毁的对象中,单态...
Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。 在项目的很多地方都会用到它,比如说数据库的链接。 使用Singleton的好处还在于可以节省内存,因为它限制了实例的个数,有利于...
这个一个简单的java例子,可以为新手加深对java单态模式的理解.....
单态模式是在面向对象设计中实现类似单例行为的一种替代方法,确保Java应用程序中的共享状态。它强制实现一种独特的行为,即类的所有实例共享相同的状态。与单例模式不同,单例模式将类限制为单个实例,单态模式允许...
在Java编程语言中,本文将深入探讨几个关键概念,包括继承中的`this()`构造器调用、多态性、单态设计模式、静态初始化、对象引用的`==`比较以及参数传递机制。这些知识点是Java程序员必备的基础知识,对理解和编写...
在Java开发中,实现单态登录通常涉及以下几个核心知识点: 1. **会话管理**:单态登录的基础是有效地管理用户的会话。在Web开发中,Java使用`HttpSession`对象来存储用户会话信息,例如用户ID、登录状态等。当用户...
单态模式(Singleton Pattern)是软件设计模式中的一种,它保证了类只有一个实例,并提供一个全局访问点。这种模式在很多场景下非常有用,比如配置管理、线程池、缓存管理和日志记录等,因为它可以确保在整个系统中...
单态(Singleton)模式是软件设计模式中的一种,它的核心思想是确保一个类只有一个实例,并提供一个全局访问点。在Java编程中,单态模式被广泛应用于那些需要频繁实例化然后销毁的对象,或者创建对象需要消耗大量...
单态模式(Singleton Pattern)是一种常用的软件设计模式,它的核心目标是确保一个类在整个应用程序中只有一个实例,并提供全局唯一的访问点。这种模式在资源管理、配置管理、对象协调等方面有广泛应用,例如创建...
在Java中,简单工厂模式通常包含一个工厂类,一个抽象产品接口和若干个具体产品类。工厂类根据输入参数或者条件来决定创建哪个具体的产品实例。 结合源代码分析,`Demo1012`可能包含了这两种模式的示例代码。可以...
在Java或其他面向对象语言中,单态模式的实现有多种方式,但核心思想都是限制类的实例化过程。 一、单态模式的基本结构 单态模式通常包含以下关键部分: 1. 单例类:这个类只能被实例化一次,它负责创建自己的唯一...
DataSource的单态模式(SingleTon)程序---马克-to-win java视频 数据源 单态模式 dataSource Singleton
单态模式 马克-to-win Java视频 Singleton 单例模式
单态模式 马克-to-win java视频 Singleton 单例模式
单态模式 马克-to-win java视频 Singleton 单例模式
Java设计模式是软件开发中的重要概念,它们是解决常见...这个压缩包资料“[浪曦原创]JAVA设计模式 第2讲 单态模式和简单工厂模式(jzkangta)”应包含了详细的讲解和示例代码,可以帮助深入理解和应用这两种设计模式。
在Java中,除了单态模式,构造方法私有化还常用于其他设计模式,如工厂模式(Factory Pattern)和抽象工厂模式(Abstract Factory Pattern),以及作为静态工具类(Static Utility Class)的实现方式,防止这些类被...