1.单例模式(singleton Pattern)是一种简单的设计模式,它的定义如下:为了确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。
2.通用代码如下
class Singleton { private static final Singleton singleton=new Singleton(); private Singleton(){ //自定义的初始化内容 }
//通过该方法获得实例化对象 public static Songleton getInstance(){ return singleton; } public static void doSomething(){ System.out.println("我是单例模式"); }}
3.优缺点 (1)内存中只有一个实例,减少了内存开支,减少系统性能开销(2)可以避免对资源的多重占用(3)设置全局访问点,优化和共享资源访问(4)扩展困难,测试麻烦,与单一职责原则冲突4.使用场景(1)要求生成唯一序列号的环境(2)在整个项目中需要一个共享的访问点和共享数据(3)创建对象消耗的资源过多(4)需要定义大量的静态常量和静态方法
5.实例(某一时期皇帝只有一个)
class Emperor {
private static final Emperor emperor=new Emperor();
private Emperor(){
}
public static Emperor getInstance(){
return emperor;
}
public static void say(){
System.out.println("我是皇帝秦始皇");
}
}
public class Minister {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int day;
for(day=0;day<7;day++){
Emperor emperor=Emperor.getInstance();
emperor.say();}}}
本文介绍了单例模式的概念、实现方式及应用场景。通过具体代码示例展示了如何确保一个类只有一个实例,并自行实例化向系统提供。探讨了其在减少内存开支、避免资源多重占用等方面的优势。
1534

被折叠的 条评论
为什么被折叠?



