JAVA 模板设计模式和单例设计模式
来源:互联网 发布:mac常用办公软件 编辑:程序博客网 时间:2024/06/05 18:10
一、模板设计模式
模板设计模式,重要的在于思想,程序确定的部分,和不确定的部分组成,这时候可以吧不确定的部分抽象出来,然后对外开放可以访问的方式,再次使用的时候,可以由其子类来继承父类。实现重写抽象方法,来完成不确定的部分。
举例public class Demo01{ public static void main(String[] args){ GetTime gt = new SubTime(); gt.getTime(); //打印五千次 并且计算出用时 }}abstract class GetTime{ // 把需要执行的程序, 抽取成方法 // 不知道怎么写实现部分 可以先不写 // 定义成抽象方法,强制子类去重写方法 public abstract void fun(); public void getTime(){ long startTime = System.currentTimeMillis(); // 定义一个变量,获取系统当前时间 fun(); long endTime = System.currentTimeMillis(); // 定义一个程序执行完毕的时间 System.out.println(“程序运行时间” + (startTime - endTime)+"毫秒"); }}// 使用继承public SubTime extends GetTime{ // 重写 fun() 方法 public void fun(){ for(int i = 0; i< 5000; i++){ System.out.println(i) // 打印5000次i } }}
二、单例设计模式
重点在于思想,饿汉式 和 懒汉式,核心:在整个程序的执行期间,不管你创这个类的对象多少个,整个程序,有且只有一个该类的对象,单实例对象。
如何写一个单例对象出来?
- 不让外界创建对象(把构造方法私有化)//
- 自己来创建这个对象(写个创建对象的自定义方法)
- 对外开放访问该对象的权限(把对象的访问暴露出去)
举例public class Demo02{ public static void main(String[] args){ Single s = Single.getInstence(); s.sayHi(); // 打印 你好 SingleLan sgl = SingleLan.getInstence(); s.sayHi() // 打印 我是懒汉式 }}// 单例类class Single{ // 创建 单例对象 private static Single single = new Single(); // 构造方法私有华 private Single(){ } public static Single getInstence(){ return single; } public void sayHi(){ System.out.println("你好") }}// 懒汉式 class SingleLan{ // 声明一个单例对象 public static SingleLan sgl = null; // 私有化构造方法 public SingleLan(){ } // 对外开放访问的方法(当用户调用get方法的时候,在创建对象) public static SingleLan getInstence(){ // 当单例对象为空时 会创建对象 // 一旦单例对象创建出来了,就不会为空 // 所以这个单例对象,就只会创建一次 if(sgl == null){ sgl = new SingleLan(); } return sgl; } public void sayHi(){ System.out.println("我是懒汉式"); }}
单例类 在内存中加载图:
阅读全文
1 0
- JAVA 模板设计模式和单例设计模式
- Java设计模式—单例模式和模板模式
- java设计模式之模板设计模式和单例模式,以及复合
- [学习笔记]Java模板方法和单例设计模式
- [学习笔记]Java模板方法和单例设计模式
- java -- 模板设计、复合模式、单例设计
- java 设计模式,单例设计模式
- java设计模式-单例设计模式
- java设计模式-单例设计模式
- Java设计模式 单例设计模式
- Java设计模式------单例设计模式
- java设计模式----->单例设计模式
- java设计模式:单例设计模式
- java设计模式-----单例设计模式
- Java设计模式----单例设计模式
- java设计模式-单例设计模式
- java设计模式:单例设计模式
- java 设计模式-单例设计模式
- 手把手教你webpack3(11)PostCSS-Loader配置简述
- Jquery Ajax
- Hadoop生态系统(1)
- 菜鸟编程 指针初步
- java反射机制在Spring IOC中的应用
- JAVA 模板设计模式和单例设计模式
- 牛顿迭代法 一元非线性方程求根 C语言实现
- 微信小程序的wx:for,wx:for-items,wx:for-item,wx:key等的关系及正确使用
- iOS 常用组件-高效切圆角方法总结
- sourceInsight使用时注释不正常情况
- 每天一点小知识【6】
- 多布局
- Reverse Words in a String III
- 爱奇艺判断括号深度python代码