第六章 static、final和常量设计 第二节 单例模式

static关键字作用于变量时,该变量在内存中只有一个拷贝,由此特点,衍生出设计模式当中一种经典的设计模式---单例模式。

单例模式(1):

--单例模式,又名单态模式,Singleton。

--限定某一个类在整个程序运行过程中,只能保留一个实例对象在内存空间。(对象是new出来的,那么new的话限定只能new一次不能new多次。)   内存空间中,一个类只有一个对象存在,这就是单例模式。

--单例模式是GoF的23种设计模式(Design Pattern)中经典的一种,属于创建型模式类型。

单例模式(2):

--设计模式:在软件开发过程中,经过验证的,用于解决在特定环境下的、重复出现的、特定问题的解决方案。

--设计模式起源于建筑领域。Alexander总结了建筑行业的设计模式。

--1995年Erich  Gamma, Richard  Helm, Ralph  Johnson, John  Vlissides(GoF)合著的《设计模式--可复用面向对象软件基础》总结了常见的23种设计模式,包括:创建型、结构型和行为型。

其中,创建型设计模式:对象如何创建

          结构型设计模式:比如说有一些复杂的对象,可能这个对象里面包含好几个对象,像这种东西如何创建

          行为型设计模式:这个对象的方法怎么运行

单例模式(3):

单例模式:保证一个类有且只有一个对象。那么如何保证呢?

(1)采用static来共享对象实例

(2)采用private构造函数(让构造函数私有化),防止外界进行new操作(因为采用static保证所有对象共享同一块内存,但是防止不了别人对类进行new操作)

查看Singleton.java

在外界,出了(Singleton.java)就不能new一个Singleton对象了,只能通过调用Singleton.getInstance()方法拿到这个对象(而且是同一个对象)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值