当前位置:首页 > 开发 > 编程语言 > 编程 > 正文

重学单例模式

发表于: 2014-09-23   作者:lanqiu17   来源:转载   浏览:
摘要: 最近在重新学习设计模式,感觉对模式理解更加深刻。觉得有必要记下来。 第一个学的就是单例模式,单例模式估计是最好理解的模式了。它的作用就是防止外部创建实例,保证只有一个实例。 单例模式的常用实现方式有两种,就人们熟知的饱汉式与饥汉式,具体就不多说了。这里说下其他的实现方式 静态内部类方式: package test.pattern.singleton.statics; publ
最近在重新学习设计模式,感觉对模式理解更加深刻。觉得有必要记下来。 
	第一个学的就是单例模式,单例模式估计是最好理解的模式了。它的作用就是防止外部创建实例,保证只有一个实例。
	单例模式的常用实现方式有两种,就人们熟知的饱汉式与饥汉式,具体就不多说了。这里说下其他的实现方式
	静态内部类方式:
package test.pattern.singleton.statics;

public class Singleton {

	//静态内部类保证唯一性
	private static class Inst {
		private static Singleton instance = new Singleton();
	}
	
	public static Singleton instance() {
		return Inst.instance;
	}
	
	private Singleton() {}
	
	public void print() {
		System.out.println("hello world");
	}
}

  枚举实现方式:
package test.pattern.singleton.enums;

public enum SingletonEnum {
    instance; //唯一的实例
	
	private SingletonEnum() {}
	
	public void print() {
		System.out.println("hello world");
	}
}

 
 测试:
package test.pattern.singleton.enums;

import org.junit.Test;

import test.pattern.singleton.statics.Singleton;

public class TestSingle {

	
	
	@Test
	public void testStaticSingle() {
		Singleton single = Singleton.instance();
		single.print();
	}
	
	@Test
	public void testEnumSingle() {
		SingletonEnum.instance.print();
	}
}

 

重学单例模式

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

推荐文章
编辑推荐
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号