技术草根女 发表于 2013-1-6 02:21:54

单例模式(Singleton)Holder

<div id="cnblogs_post_body">简单,又不简单,看看便知道。建议采用demo-4。

demo-1 懒汉式(synchronized)
<div id="codeSnippetWrapper" style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; width: 97.5%; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; cursor: text; border: silver 1px solid; padding: 4px;"><div id="codeSnippet" style="text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">/** public class Singleton { /*** 定义一个变量来存储创建好的类实例*/ private static Singleton uniqueInstance = null; /*** 私有化构造方法,好在内部控制创建实例的数目*/ private Singleton(){ // } /*** 定义一个方法来为客户端提供类实例* @return 一个Singleton的实例*/ public static synchronized Singleton getInstance(){ //判断存储实例的变量是否有值 if(uniqueInstance == null){ //如果没有,就创建一个类实例,并把值赋值给存储类实例的变量 uniqueInstance = new Singleton(); } //如果有值,那就直接使用 return uniqueInstance; } /*** 示意方法,单例可以有自己的操作*/ public void singletonOperation(){ //功能处理 } /*** 示意属性,单例可以有自己的属性*/ private String singletonData; /*** 示意方法,让外部通过这些方法来访问属性的值* @return 属性的值*/ public String getSingletonData(){ return singletonData; } }
页: [1]
查看完整版本: 单例模式(Singleton)Holder