单例模式 静态方法-单例模式 静态类 混用会怎么样 ?

问题描述

单例模式 静态类 混用会怎么样 ?
写工具类时 看到有的老师写成单例模式, 看了一下Apache 的commons-io 中写成静态方法,
1、如果我在单例模式中的类 写成静态方法会怎么样?
2、如果只写单例模式,那同一个类里面的第二个类调用第一个类,该怎么用?
用this.方法1 还是 类名.getInstance().方法1 ?
3、如果只是静态方法,那同一个类中的静态方法怎么调用另一个静态方法?
this.方法1 ?
4、如果既是单例模式,内部方法也是静态方法,第一个方法调用第二个方法时,用 类名.getInstance.方法二 ,这样会用什么后果?

解决方案

静态方法是与类相关的,与实例无关的,单例模式是指只有一个实例,静态方法的调用只呆以用类名.方法名,在同一个类中,都是静态方法,可直接调用。
不需要加类名。

时间: 2024-10-03 23:16:05

单例模式 静态方法-单例模式 静态类 混用会怎么样 ?的相关文章

单例模式与静态类的区别及优势

有时候感觉单例模式与静态类的区别并不是那么明显,都是与数据无关的操作类,即整个过程不能太多的 数据依赖--更准确的说是对象依赖,最好是其只负责处理某一类型(传入的可以是接口)的对象,看看下面这 段代码: interface IPeople { string Name { set;} int Age { set; } string ToStringPeople(); } class PeopleServer { public PeopleServer() { } public void ToStr

php设计模式之单例模式(单元素模式)

单例模式: 作为对象的创建模式,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统全局地提供这个实例.它不会创建实例副本,而是会向单例类内部存储的实例返回一个引用. (1). 需要一个保存类的唯一实例的静态成员变量:private static $_instance; (2). 构造函数和克隆函数必须声明为私有的,防止外部程序new类从而失去单例模式的意义: private function __construct() { $this->_db = pg_connect('xxxx')

设计模式:单例模式

设计模式系列目录 今天来简单来说一下单例模式:它要确保一个类只有一个实例,而且自行实例化并向整个系统提供这个实例. 比如我们登录一个系统的时候要记录一个员工的信息,在整个系统运行过程中可能要不段的访问这个员工的信息, 一般情况下我们会有两种做法,第一种建一个静态类,第二种就是今天我要说的键一个单例类 今天只说单例类,建单例类要有几个要求 1.私有的构造方法 2.指向自己实例的私有静态引用 3.以自己为实例为返回值的静态方法 单例模式实例化对象有两种方式 1.懒汉模式:调用取得实例方法的时候才去实

scala实现单例模式

单例模式介绍 单例模式是一种常用的软件设计模式.在它的核心结构中只包含一个被称为单例的特殊类.通过单例模式可以保证系统中一个类只有一个实例. 对于系统中的某些类来说,只有一个实例很重要,例如,一个系统中可以存在多个打印任务,但是只能有一个正在工作的任务:一个系统只能有一个窗口管理器或文件系统:一个系统只能有一个计时工具或ID(序号)生成器.如在Windows中就只能打开一个任务管理器.如果不使用机制对窗口对象进行唯一化,将弹出多个窗口,如果这些窗口显示的内容完全一致,则是重复对象,浪费内存资源:

设计模式——单例模式

       学习设计模式也有一段时间了,看了些书籍也一直在园子里关注设计模式的文章,无奈动手比较少,仅仅几个设计模式拿来应用过,其它的基本上仅限于了解概念而 已.悲哉!悲哉!前阵子在项目里居然发现可以应用单例模式,呵呵,颇有些惊喜.故写下面的.以此巩固和梳理自己的知识,加深理解. 什么叫单例模式? 单例模式又叫做单态模式或者单件模式      概念1(GOF):单例模式(Single)是指保证一个类仅有一个实例,并提供一个访问它的全局访问点       概念2:单例模式确保某一个类只有一个实例

[Head First设计模式]一个人的平安夜——单例模式

[Head First设计模式]山西面馆中的设计模式--装饰者模式 [Head First设计模式]山西面馆中的设计模式--观察者模式 [Head First设计模式]山西面馆中的设计模式--建造者模式 [Head First设计模式]饺子馆(冬至)中的设计模式--工厂模式 引言 已经不想再数这是第多少个一个人的平安夜了,一个人走在路上,发现满脑子的技术问题,也许,在技术中才能找到一点安慰吧.很多朋友一直问我,为什么那么拼,lz只是觉得"如果连自己喜欢的工作,都做不好,那么活着就太空虚了,男人么

php设计模式之单例模式代码_php技巧

php设计模式之单例模式的例子,供大家参考,具体内容如下 <?php /** * php设计模式 单例模式 */ class Fruit{ private static $instanceMap = array(); //protected getter for singleton instances protected static function getSingleton($className){ //保证单例模式 并且不能从控制器实例化和克隆 if (!isset(self::$inst

详解Ruby设计模式编程中对单例模式的运用_ruby专题

简介      单例模式是设计模式中最简单的形式之一.这一模式的目的是使得类的一个对象成为系统中的唯一实例.要实现这一点,可以从客户端对其进行实例化开始.因此需要用一种只允许生成对象类的唯一实例的机制,"阻止"所有想要生成对象的访问.使用工厂方法来限制实例化过程.这个方法应该是静态方法(类方法),因为让类的实例去生成另一个唯一实例毫无意义. 要点      显然单例模式的要点有三个:一是某个类只能有一个实例:二是它必须自行创建这个实例:三是它必须自行向整个系统提供这个实例.      

PHP单例模式实例浅析

什么是单例模式呢 单例模式顾名思义,就是只有一个实例. 作为对象的创建模式, 单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例, 这个类我们称之为单例类. 单例模式的要点有三个: 它们必须拥有一个构造函数,并且必须被标记为private 它们拥有一个保存类的实例的静态成员变量 它们拥有一个访问这个实例的公共的静态方法 和普通类不同的是,单例类不能在其他类中直接实例化.单例类只能被其自身实例化.要获得这样的一种结果, __construct()方法必须被标记为private