zoukankan      html  css  js  c++  java
  • 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();
        }
    }

    结果为:

  • 相关阅读:
    Google验证码Kaptcha的详细过程
    stm32—单总线(1-wire)
    stm32—I2C
    归并排序(MergeSort)
    冒泡排序(Bubble Sort)
    stm32—GPIO
    stm32—时钟系统
    stm32—复位
    转义字符表
    ASCII码表格
  • 原文地址:https://www.cnblogs.com/zoulingjin/p/8634363.html
Copyright © 2011-2022 走看看