java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaEE, JavaME, JavaSE)的总称。本站提供基于Java框架struts,spring,hibernate等的桌面应用、web交互及移动终端的开发技巧与资料
保持永久学习的心态,将成就一个优秀的你,来 继续搞起java知识。
1.单例设计模式的定义
定义:保证一个类只有一个实例,并且提供一个访问它的全局访问点
2.单力设计模式的特点
特点:
a.构造方法私有化
注:保证本类外部不能实例化对象
b.在类中声明一个私有静态对象
注:对象是静态的,保证了全局使用
c.给外部提供一个静态方法获取对象实例
注:方法是静态的,因为本类外部要获取这个私有静态对象实例必须通过 类名.静态方法() 的形式获取这个对象
3.单力设计模式的适用范围
a.类中没有属性,只有方法
b.工具类(频繁使用,避免多次创建对象,造成浪费内存)
4.单例设计模式的分类
a.饿汉式:很急,对象的声明和创建一起完成
b.懒汉式:对象先声明,要用到对象时再创建
5.代码示例
a.饿汉式
//饿汉式
class SingleInstance
{
private static SingleInstance singleInstance = new SingleInstance();
private SingleInstance(){}
public static SingleInstance getSingleInstance()
{
return singleInstance;
}
public void method()
{
System.out.println("method");
}
}
public class SingleInstanceTest
{
public static void main(String[] args)
{
SingleInstance s = SingleInstance.getSingleInstance();
s.method();
}
}
b.懒汉式
//懒汉式
class SingleInstance
{
private static SingleInstance singleInstance = null;
private SingleInstance(){}
public static SingleInstance getSingleInstance()
{
if(singleInstance == null)
{
singleInstance = new SingleInstance();
}
return singleInstance;
}
public void method()
{
System.out.println("method");
}
}
public class SingleInstanceTest
{
public static void main(String[] args)
{
SingleInstance s = SingleInstance.getSingleInstance();
s.method();
}
}
java单例设计模式
因为水平有限,难免有疏忽或者不准确的地方,希望大家能够直接指出来,我会及时改正。一切为了知识的分享。
后续会有更多的精彩的内容分享给大家。
支付宝扫一扫
微信扫一扫
