单例设计模式
2016-11-26 17:25
127 查看
单例设计模式
单例设计模式指:保证一个类仅有一个实例,并提供一个访问它的全局访问点。
1.构造方法私有化
2.声明一个本类对象
3.给外部提供一个静态方法获取对象实例
两种实现方式:
1.饿汉式
2.懒汉式
单例设计模式指:保证一个类仅有一个实例,并提供一个访问它的全局访问点。
1.构造方法私有化
2.声明一个本类对象
3.给外部提供一个静态方法获取对象实例
两种实现方式:
1.饿汉式
2.懒汉式
/** * * 单例设计模式 * */ public class SingletonDemo { public static void main(String[] args){ Singleton1 s=Singleton1.getInstance(); s.show(); Singleton1 s1=Singleton1.getInstance(); System.out.println(s==s1); Singleton2 s2=Singleton2.getInstance(); s2.show(); Singleton2 s3=Singleton2.getInstance(); System.out.println(s2==s3); } }
//饿汉式 public class Singleton1 { //定义一个本类对象并实例化 private static Singleton1 s=new Singleton1(); //构造方法私有化 private Singleton1(){}; public static Singleton1 getInstance(){ return s; } public void show(){ System.out.println("饿汉式单例模式"); } }
//懒汉式(多线程访问时会有安全问题) public class Singleton2 { //定义一个本类对象 private static Singleton2 s=null; //构造方法私有化 private Singleton2(){}; public static Singleton2 getInstance(){ if(s==null){ s=new Singleton2(); } return s; } public void show(){ System.out.println("懒汉式单例模式"); } }
相关文章推荐
- 闲聊设计模式和类
- 好书整理系列之-设计模式:可复用面向对象软件的基础 5
- 好书整理系列之-设计模式:可复用面向对象软件的基础 4
- 好书整理系列之-设计模式:可复用面向对象软件的基础 3
- 好书整理系列之-设计模式:可复用面向对象软件的基础 2
- 好书系列之-设计模式:可复用面向对象软件的基础 1
- 好书整理系列之-设计模式:可复用面向对象软件的基础 5.5
- 设计模式、用Delphi描述-->Abstract Factory模式
- 设计模式、用Delphi描述-->Factory Method模式
- 设计模式、用Delphi实现---->Strategy模式
- 与大虾对话: 领悟设计模式
- 好书整理系列之-设计模式:可复用面向对象软件的基础 6
- 设计模式入门(1)------单件(Singleton)
- 设计模式、用Delphi描述-->Reference Count pattern
- Engine-Collection-Class,一种用来建立可重用企业组件的设计模式
- 好书整理系列之-设计模式:可复用面向对象软件的基础 7
- 好书整理系列之-设计模式:可复用面向对象软件的基础 8
- Jive 中的设计模式
- 设计模式、用Delphi描述-->Visitor模式
- 设计模式、用Delphi实现---->Template Method模式