利用jdk1.8的新特性实现模板方法模式
来源:互联网 发布:大连网络建站 编辑:程序博客网 时间:2024/06/05 22:29
jdk1.8的新特性中有一个是接口可以编写默认方法。这样写模板方法模式就很好的被利用到(不仅限模板方法使用)。
1、模板类
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函数方法类
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(); }}
上面创建了个两个车,一个小车,一个大车,构建实现方式具体暴露出来。
阅读全文
0 0
- 利用jdk1.8的新特性实现模板方法模式
- 利用jdk1.8写个模板方法模式的例子
- JDK1.5-JDK1.8的新特性
- jdk1.8的新特性
- jdk1.8 新特性
- jdk1.8新特性
- jdk1.8新特性
- jdk1.8新特性
- JDK1.8-新特性
- JDK1.8新特性
- JDK1.8新特性
- jdk1.8新特性
- JDK1.8新特性
- jdk1.8新特性
- JDK1.8新特性
- JDK1.8新特性
- JDK1.8新特性
- jdk1.8新特性
- Ionic2跨平台项目(七)浏览器中使用Native包和插件
- 软编码Flv 到Mp4 容器(十二) fmp4 mdat box详解
- 判断回文数字
- 虚拟机NAT模式网络连接设置ssh
- 最近一个低级错误犯了两次
- 利用jdk1.8的新特性实现模板方法模式
- Spring MVC入门 —— 学SpringMVC
- nat打洞
- 面对对象
- NYoj 156 Hangover
- Android O体验系列(二)自定义字体
- 图解 javascript this 指向什么?
- 后台运行长时间php进程 数据库连接不上的问题
- JAVA解决在@autowired,@Resource注入为null的问题