Java设计模式之单例模式

来源:互联网 发布:淘宝刷单一天能赚多少 编辑:程序博客网 时间:2024/05/01 07:06

单例模式(singleton)是一种重要的设计模式。单例模式属于对象创建型模式,顾名思义,其意图是保证一个类仅有一个实例,并提供一个访问它的全局访问点。

它的特点有:1、该类只能有一个实例;2、它必须自行创建这个实例;3、它必须自行向整个系统提供这个实例。

下面使用Java实现的单例模式的代码,提供了两种实现的方法:

//单例模式的实现package single;class SingleInstance {private static SingleInstance  instance = new SingleInstance();private SingleInstance(){value = 5;}private int value;public static SingleInstance getInstance (){return instance;}public void setValue (int val){value = val;}public int getValue (){return value;}}class SingleInstance2 {private static SingleInstance2 m_instance = null;private SingleInstance2(){value = 5;}private int value;synchronized public static SingleInstance2 getInstance(){ if (m_instance == null) {m_instance = new SingleInstance2(); }return m_instance;}public void setValue (int val){value = val;}public int getValue (){return value;}}class Test{public static void main (String[] args){SingleInstance si1 = SingleInstance.getInstance();//ERROR: The constructor SingleInstance() is not visible//SingleInstance si2 = new SingleInstance();SingleInstance si2 = SingleInstance.getInstance();si1.setValue(124);System.out.println(si2.getValue());SingleInstance2 si3 = SingleInstance2.getInstance();SingleInstance2 si4 = SingleInstance2.getInstance();si3.setValue(34);System.out.println(si4.getValue());}}


原创粉丝点击