Object-Oriented

设计模式:
解决某一类问题最行之有效的方法
JAVA中23种设计模式
解决一个类在内存只存在一个对象。
想保证对象唯一。
1、为了避免其他程序过多建立该对象。先进制其他程序建立该类对象。
2、为了让其他程序可以访问到该类对象。只好在本类中自定义一个对象。
3、为了对对象的访问,可以对外提供一些访问方式
代码体现:
1、构造函数私有化
2、在类中创建一个本类对象。
3、提供一个方法可以获取该对象。
eg:

饿汉式:

(Single类一进内存,就已经创建好了对象)

classSingle{private Single(){} //私有化构造函数,使之不能实例化(new)对象
private static Single s = newSingle(); //一般类变量需要私有化public static Single getInstance(){ //不用set,只有一个对象return s;}
}
class SingleDemo{public static void main(String[] args){Single ss = Single.getInstance();
}
}

-------------------------------------------

懒汉式:

(对象时方法被调用时才初始化)对象的 延时加载

classSingle2{private Single2(){}
private static Single2 s = null;public static Single2 getInstance(){if(s==null)s = new Single2();return s;}
}

Java(设计模式)相关推荐

  1. java备忘录模式应用场景_图解Java设计模式之备忘录模式

    图解Java设计模式之备忘录模式 游戏角色状态恢复问题 游戏角色有攻击力和防御力,在大战Boss前保存自身的状态(攻击力和防御力),当大战Boss后攻击力和防御力下降,从备忘录对象恢复到大战前的状态. ...

  2. JAVA 设计模式 模板方法模式

    定义 模板方法模式 (Template Method) 定义了一个操作中的算法的骨架,而将部分步骤的实现在子类中完成. 模板方法模式使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤. 模 ...

  3. Java设计模式之策略模式与状态模式

    一.策略模式定义 定义:策略模式定义了一系列的算法,并将每一个算法封装起来,而且使他们之间可以相互替换,策略模式可以在不影响客户端的情况下发生变化. 好了,定义看看就完了,我知道你很烦看定义. 二.策 ...

  4. JAVA 设计模式 享元模式

    用途 享元模式 (Flyweight) 运用共享技术有效地支持大量细粒度的对象. 享元模式是一种结构型模式. 结构 图-享元模式结构图 Flyweight : 它是所有具体享元类的超类或接口,通过这个 ...

  5. java设计模式 观察者模式_理解java设计模式之观察者模式

    在生活实际中,我们经常会遇到关注一个事物数据变化的情况,例如生活中的温度记录仪,当温度变化时,我们观察它温度变化的曲线,温度记录日志等.对于这一类问题,很接近java设计模式里面的"观察者模 ...

  6. Java设计模式-七大设计原则

    Java设计模式 设计模式七大原则 设计模式的目的 编写软件过程中,程序员面临着来自 耦合性,内聚性以及可维护性,可扩展性,重用性,灵活性 等多方面的挑战,设计模式是为了让程序(软件),具有更好 代码 ...

  7. Java设计模式(备忘录模式-解释器模式-状态模式-策略模式-职责链模式)

    Java设计模式Ⅶ 1.备忘录模式 1.1 备忘录模式概述 1.2 代码理解 2.解释器模式 2.1 解释器模式概述 3.状态模式 3.1 状态模式概述 3.2 代码理解 4.策略模式 4.1 策略模 ...

  8. Java设计模式(访问者模式-迭代器模式-观察者模式-中介者模式)

    Java设计模式Ⅶ 1.访问者模式 1.1 访问者模式概述 1.2 代码理解 2.迭代器模式 2.1 迭代器模式概述 2.2 代码理解 3.观察者模式 3.1 观察者模式概述 3.2 代码理解 4.中 ...

  9. Java设计模式(代理模式-模板方法模式-命令模式)

    Java设计模式Ⅴ 1.代理模式 1.1 代理模式概述 1.2 静态代理 1.2.1 静态代理概述 1.2.2 代码理解 1.3 动态代理之JDK代理 1.3.1 动态代理之JDK代理概述 1.3.2 ...

  10. Java设计模式(装饰者模式-组合模式-外观模式-享元模式)

    Java设计模式Ⅳ 1.装饰者模式 1.1 装饰者模式概述 1.2 代码理解 2.组合模式 2.1 组合模式概述 2.2 代码理解 3.外观模式 3.1 外观模式概述 3.2 代码理解 4.享元模式 ...

最新文章

  1. thinkpad触控笔怎么用_电容笔怎么用,如何选择一支电容笔来提升生产力呢?
  2. 【C 语言】字符串 一级指针 内存模型 ( 指定大小字符数组 | 未指定大小字符数组 | 指向常量字符串的指针 | 指向堆内存的指针 )
  3. win7下如何开启远程桌面服务
  4. P6240 好吃的题目(分治+背包)
  5. 亿佰特物联网通信专家:蓝牙模块和 Zigbee协议模块的区别
  6. 分析log及校准学习总结
  7. Linux 命令(79)—— pidof 命令
  8. Android 自定义标尺滑动选择值
  9. airplay连接电脑 linux,苹果手机怎么无线投屏,AirPlay怎么连接电脑
  10. 华为手机鸿蒙系统手机_华为推出鸿蒙系统2.0 明年华为手机将适配支持
  11. 计算机管理 没有初始化,win7系统电脑新增的硬盘没有初始化的解决方法
  12. CAD二次开发(C#)之添加文字样式
  13. java 操作二进制_Java 二进制文件操作大全
  14. Linux系统_通过命令新建MySQL数据库并导入sql文件
  15. android 程序闪退 log,应用闪退log日志。。
  16. 通过预言机获取任意链下数据 - Chainlink Any API 代码解析
  17. 无理数存在性的几何证明
  18. BUUCTF [HITCON 2016] Leaking
  19. FFMPEG学习----解码视频
  20. 内存导致的电脑游戏中显示hdmi无信号 从而死机的情况

热门文章

  1. 工业用微型计算机08,自考《工业用微型计算机》02241 2008年真题 _ 重庆自考网
  2. android 拍照 华为,【华为MateRS保时捷版评测】拍照:徕卡三摄登顶DxOMark名副其实_华为 Mate RS保时捷版_手机评测-中关村在线...
  3. maters鸿蒙系统,【华为MateRS保时捷版评测】系统:多元素化集合EMUI 8.1体验很棒-中关村在线...
  4. Vue脚手架安装 与 Vue项目创建运行、vue项目迁移后运行失败问题
  5. 应用软件新建工程可研报告-目录范例
  6. 富途笔试+面试(比较恶心的面试呢)
  7. python 图像识别游戏_基于Python的浏览器图像识别
  8. 创建DataFrame数据
  9. ATH9K Driver Learning Part VI: Difference Between Packet Preparation And Transmission Control
  10. imx6 kernel boog log