java中的单例模型

参考网址:http://www.runoob.com/design-pattern/singleton-pattern.html

1.目的:保证一个类仅有一个实例,并提供一个访问它的全局访问点。(比如世界只有一个月亮,党只有一个主席)

2.

优点: 1、在内存里只有一个实例,减少了内存的开销,尤其是频繁的创建和销毁实例(比如管理学院首页页面缓存)。 2、避免对资源的多重占用(比如写文件操作)。

缺点:没有接口,不能继承,与单一职责原则冲突,一个类应该只关心内部逻辑,而不关心外面怎么样来实例化。

下面知识简单的操作例子

package Unit1;
/*
 * 单例模型;http://www.runoob.com/design-pattern/singleton-pattern.html
 */
public class SingleObject {
    //创建SingleObject的一个对象
    private static SingleObject instance = new SingleObject();
    
    //让构造函数为private,这样该类就不会被实例化
    private SingleObject() {
    }
    
    //获取唯一可用的对象
    public static SingleObject getInstance(){
        return instance;
    }
    
    public void showMessage(){
        System.out.println("你好!!!");
    }

}
package Unit1;

public class SingletonPatternDemo {
    public static void main(String[] args) {
        
        //不合法的构造函数
        //编译错误:构造函数SingleObject()是不可见的
        //SingleObject object = new SingleObject();
        
        //获取唯一可用的对象
        SingleObject object = SingleObject.getInstance();
        
        //显示信息咯
        object.showMessage();
    }
}

结果为:

 

posted @ 2018-03-23 20:45  leonard丶zou  阅读(102)  评论(0)    收藏  举报