JAVA 设计模式之单态设计模式

转载 2012年03月25日 15:16:46

1.static静态方法
   a.在静态方法中只能直接调用同类中其他的静态成员(包括变量和方法)而不能访问类中的非静态成员。

Because非静态的方法和变量,需要先创建类的实例对象后才可使用,而静态方法在使用前不需要创建对象。
   b. 静态方法不能以任何方式引用this(指当前的对象)和super关键字。
   c.main方法是静态的,因而在main方法中不能直接访问该类中的非静态成员,必须创建该类的一个实例对

象后,才能访问非静态成员。

2.静态代码块
   static{
    }
   a.一个类中可以使用不包含在任何方法体中的静态代码块(static block),当类被载入时,静态代码块被

执行且只被执行一次,故常用来进行类属性的初始化。
   b.类中的静态代码块被自动执行,尽管我们产生了类的多个实例对象,但其中的静态代码块只被执行了一

次。

3.当一个程序中用到了其他的类,类是在第一次被使用的时候才被装载的,而不是在程序启动时就装载程序中

所有可能用到的类。

4.单态设计模式
   a.设计模式是在大量的实践总结和理论化之后优选的代码结构、编程风格以及解决问题的思考方式。设计

模式就像是经典的棋谱,不同的棋局用不同的棋谱,免得我们自己再去思考摸索。使用设计模式也许会制约你

去创新,但也不必因循守旧完全不去了解和借鉴前人的成功经验。
   b.类的单态模式就是采取一定的方法保证在整个的软件系统中,对某个类只能产生一个实例对象,并且该

类只提供一个取得其对象实例的方法。
   c.实现类单态:首先必须将类的构造方法的访问权限设为private,这样就不能用new操作符在类的外部产

生该类的对象实例了。其次在类的内部产生一个静态的对象,再产生该类的静态方法返回内部创建的对象实例

以便外部来访问这个唯一的对象实例。
  (外部要访问唯一对象,只有内部来创建,需定义一个方法来返回对象,而且必须是静态的,静态的方法只

能访问静态变量,所以定义的对象变量也必须是静态的。)
5.理解main方法
  a.java虚拟机调用main()方法,所以该方法访问权限是public;
    java虚拟机在执行main()方法时不必创建对象,所以该方法是static;
    该方法接收一个String类型的数组参数,该数组保存执行java命令时传递给所运行类的参数。
    Java语言规定,成员方法main必须同时含有public、static和void属性。

JAVA设计模式---单态模式理解

前言何为单态模式? 在一个系统中,JVM中,只能存在有一个对象的实例,所有程序的处理都只能调用这一个对象完成相关逻辑操作,单态模式有点在于减少了new关键字的调用,实例的初始化,节省了系统内存开销。...
  • zhang6622056
  • zhang6622056
  • 2016年09月21日 18:13
  • 944

C++设计模式5--单例模式Singleton--当前对象只有一个实例

很多情况下,我们在开发项目的过程中,都希望自己运行的某个部件只有一个实例, 比如我们天天用QT开发界面,QTCreate里帮助菜单下的关于Qt Create菜单,弹出来的关于对话框,在QTCreate...
  • gatieme
  • gatieme
  • 2014年01月08日 13:25
  • 21467

读秦小波《设计模式之禅》 -- 工厂模式

设计模式是一种非常有用的编程技巧,它对于代码的重构有些非常重要的作用,对于软件开发人员来说,需要理解并尝试着使用这些设计的方法。      个人感觉《设计模式之禅》这本书中讲解的非常具体,每个模式都配...
  • DLUTBruceZhang
  • DLUTBruceZhang
  • 2014年12月25日 08:36
  • 2724

java设计模式之美

设计模式的概述设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。我们在项...
  • li741350149
  • li741350149
  • 2016年12月14日 08:23
  • 477

设计模式之禅学习笔记--策略模式

一、定义 定义一组算法,将每个算法都封装起来,并且使它们之间可以互换(实现相同的接口)。 二、通用类图 策略模式使用的就是面向对象的继承和多态机制,非常容易理解和掌握。 1:C...
  • xiang912
  • xiang912
  • 2015年05月14日 23:22
  • 615

Java设计模式之—静态代理和动态代理

代理从字面意思来看就是,替代XX去做某事,在我们的程序中,一般替代实际对象去进行操作,扮演着中间人的角色: 客户端 –> 业务类 客户端 –> 代理 –>业务类(代理) 代理接口int...
  • jeffleo
  • jeffleo
  • 2016年08月17日 00:08
  • 631

java设计模式——单态设计模式

//单例(用例,对象)class Demo{  public static void main(String[] args)   {       Bank b=Bank.bank;//通过类名调用st...
  • fzzlxc
  • fzzlxc
  • 2009年08月18日 12:33
  • 167

JAVA设计模式初探之组合模式

先看看组合模式的定义吧:“将对象组合成树形结构以表示‘部分-整体’的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。”    就拿剪发办卡的事情来分析一下吧。    首先,一张卡可...
  • jason0539
  • jason0539
  • 2014年03月31日 08:40
  • 22720

Java 单态设计模式

单态设计模式的实现有两种方式 : (1)、第一种形式:定义一个类,它的构造函数为private , 它有一个静态实例对象,并且此对象访问范围被设置为private , 通过 getInstance ...
  • xczzmn
  • xczzmn
  • 2011年08月27日 09:54
  • 544

JAVA单态设计模式

首先要说:  构造方法私有化,类的封装性不光体现在对属性的封装上,实际上方法也可以封装,当构造方法被私有化(封装),一个类的构造方法私有化之后,则只能从其类的内部取得实例化对象,那么此时要考虑的问题...
  • qq_27862335
  • qq_27862335
  • 2017年02月16日 09:43
  • 110
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JAVA 设计模式之单态设计模式
举报原因:
原因补充:

(最多只允许输入30个字)