利用jdk1.8写个模板方法模式的例子
来源:互联网 发布:淘宝助手缓存清理 编辑:程序博客网 时间:2024/06/05 03:48
jdk1.8的新特性之一是接口可以写默认实现方法。正好可以用在模板方法模式之上,之前一直使用抽象类来实现的。(该特性不仅限使用模板方法模式)。
1、car的类
package com.zc.jdk8;/** * Created by Administrator on 2017/5/17. */public interface Car { /** * Java 8允许我们给接口添加一个非抽象的方法实现,只需要使用 default关键字即可,这个特征又叫做扩展方法 */ default void create(){ System.out.println("create wheel start !"); createWheel(); System.out.println("create wheel start !"); System.out.println("create engine start !"); createEngine(); System.out.println("create engine start !"); System.out.println("create frame start !"); createFrame(); System.out.println("create frame start !"); } /** * 造轮子 */ public void createWheel(); /** * 造发动机 */ public void createEngine(); /** * 造车架子 */ public void createFrame();}2、测试main函数TestMain
package com.zc.jdk8;/** * Created by Administrator on 2017/5/17. */public class TestMain { public static void main(String[] args) { /** * 创建个小轿车 */ Car smallCar = new Car() { @Override public void createWheel() { System.out.println("create Wheel small Car......"); } @Override public void createEngine() { System.out.println("create Engine small Car......"); } @Override public void createFrame() { System.out.println("create Frame small Car......"); } }; smallCar.create(); /** * 造个大轿车 */ Car bigCar = new Car() { @Override public void createWheel() { System.out.println("create Wheel big Car......"); } @Override public void createEngine() { System.out.println("create Engine big Car......"); } @Override public void createFrame() { System.out.println("create Frame big Car......"); } }; bigCar.create(); }}
上面创建了两个类型的车,一个小车、一个大卡车。
3、运行结果:
阅读全文
0 0
- 利用jdk1.8写个模板方法模式的例子
- 利用jdk1.8的新特性实现模板方法模式
- 模板方法模式的例子
- 模板方法模式例子
- 模板方法设计模式例子
- 简单利用模板的例子
- 再读C++ Primer 写了个小例子——模板类的操作
- 模板方法模式(Template Method) 例子
- 一个模板方法的例子
- 利用jquery写的AJAX小例子
- 第六个设计模式:模板方法
- 再读C++ Primer 写了个小例子——模板的操作(08-01-18)
- 写个关于lcs模板的问题
- 写一个Singleton模式的例子
- 写一个Singleton模式的例子
- 工厂方法模式的例子
- 模板方法模式(Template Method)c#简单例子
- 利用模板设计组合模式的心得
- 谷歌HTML/CSS规范
- UEFI下win10+ubuntu16.04双系统安装教程加高b格rEFInd可diy开机引导
- Bootstrap学习之三:使用排版
- Android 焦点Focus问题的总结
- JsonArray和JsonObject的使用
- 利用jdk1.8写个模板方法模式的例子
- 非常可乐
- maven安装以及eclipse配置新建maven项目
- CNTK入门04: CNTK中的Sequences
- USB接口接线说明
- [译][转]Google的Java编程风格指南(Java编码规范)
- Unity Invoke的另类用法
- UNIX命令行快速入门7
- LifecycleProcessor not initialized