码迷,mamicode.com
首页 > 其他好文 > 详细

单例模式

时间:2016-03-26 08:12:30      阅读:96      评论:0      收藏:0      [点我收藏+]

标签:单例模式

实现原理:

单例模式的实现类,由一个私有静态变量和一个返回该私有静态变量的Public静态方法组成。

实现类的构造方法设置为私有方法,每次调用getInstance时,进行判断,如果是第一次调用,则创建一个新实例,并且该实例赋值给静态变量。如果不是第一次调用,则直接返回已赋值过的静态变量,实现了始终只有一个实例的功能。

举例:

package java1200_88;


public class singleInstanceDemo {

//必须用static声明是一个静态的变量。

private static singleInstanceDemo sidemo = null;

private singleInstanceDemo(){

System.out.println("Instance only generate once");

}

//单例模式的关键,是必须要使用if(sidemo==null)的判断。

public static singleInstanceDemo getInstance(){

if(sidemo == null){

sidemo = new singleInstanceDemo();

}

return sidemo;

}

public static void main(String[] args){

//判断多次调用的是否是同一个实例。

System.out.println(singleInstanceDemo.getInstance().toString());

System.out.println(singleInstanceDemo.getInstance().toString());

System.out.println(singleInstanceDemo.getInstance().toString());

System.out.println(singleInstanceDemo.getInstance().toString());

}

}


运行结果:

Instance only generate once

java1200_88.singleInstanceDemo@139a55

java1200_88.singleInstanceDemo@139a55

java1200_88.singleInstanceDemo@139a55

java1200_88.singleInstanceDemo@139a55


单例模式

标签:单例模式

原文地址:http://ironkui.blog.51cto.com/6419870/1755381

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!