Java 中Interface的妙用:

当你创建一个类时,当中的功能可能现在无法进行编写(也即代码拥有为确定情况),此时,接口Interface可以起到重大用处。

具体做法就是用Interface预留一个该未确定功能接口,等待后来调用这个类的工程师自己实现这个接口功能。

例子:
要求:定义一个功能类:预留doFun()接口,但是doFun()里面要做些什么不确定。
public class InterfaceTest
{public Interface DoWhatYouDecide{void doWhat();}public void doFun(DoWhatYouDecide doWhatYouDecide){doWhatYouDecide.doWhat();}
}
//后面的只要自己实例化 DoWhatYouDecide 这个接口就可以实现自己想要的doFun()功能了。

转载于:https://blog.51cto.com/whatever957/1717595

Interface 的本质用处相关推荐

  1. Go 语言编程 — 高级数据类型 — Interface、多态、Duck Typing 与泛式编程

    目录 文章目录 目录 Golang 的接口 Interface 实例存储的是实现者的值 如何判断某个 Interface 实例的实际类型 Empty Interface Interface 与多态 I ...

  2. System Verilog学习笔记—虚接口(virtual interface)

    1.虚接口(virtual interface) 1.1为什么引入虚接口? 我们知道,通过引入interface可以简化模块儿之间的连接,即interface是连接硬件的,其是硬件语言:但对于验证来说 ...

  3. 看了两篇园子里的文章,初步懂了点接口的涵义

    之前对于"接口"概念很模糊,今天看了园子里两篇文章,有点开始懂了: http://www.cnblogs.com/AndyFish/archive/2008/08/11/12652 ...

  4. flask 路由 php文件,Flask 请求处理流程(一):WSGI 和 路由

    flask 一个基于 python 实现的Web开发微框架,主要依赖: Werkzeug:一个 python 的 WSGI 工具包,也可以作为一个 Web 框架的底层库. Jinja2:为 pytho ...

  5. Spring Enable批注–编写自定义的Enable批注

    Spring提供了一系列名称以Enable *开头的注释,这些注释本质上使某些Spring管理的功能可以被激活. 这样的注释的一个很好的例子是EnableWebMvc ,它引入了在基于Spring的应 ...

  6. Java基础笔记 – 枚举类型的使用介绍和静态导入

    Java基础笔记 – 枚举类型的使用介绍和静态导入 本文由 arthinking 发表于404 天前 ⁄ Java基础 ⁄ 暂无评论 ⁄ 被围观 1,433 views+ 1.枚举(Enum): JD ...

  7. laravel-神奇的服务容器(转)

    原文地址: http://www.insp.top/learn-laravel-container ,转载务必保留来源,谢谢了! 容器,字面上理解就是装东西的东西.常见的变量.对象属性等都可以算是容器 ...

  8. laravel的启动过程解析(转)

    转载地址:https://www.cnblogs.com/lpfuture/p/5578274.html 如果没有使用过类似Yii之类的框架,直接去看laravel,会有点一脸迷糊的感觉,起码我是这样 ...

  9. Android 和 iOS 各有千秋

    随便搜索一下"Android vs. iOS",都会出现很多关于哪个平台更好的争论,大多数的争论点都是关于市场占有率.易用性和设备分化等问题.当然也有一些"以开发者的角度 ...

最新文章

  1. Python+OpenCV实现自动扫雷,挑战扫雷世界记录!
  2. SpringBoot中整合使用Freemarker
  3. 开通qq邮箱的smtp服务的流程详情
  4. Markdown--语法说明
  5. 如何建立自己的工作库,把分散信息有效整理?
  6. python基础教程书籍-7本Python必读的入门书籍
  7. Android 开机logo支持的格式
  8. 淘宝电商PRD文档模板讲解
  9. hybird简介以及安卓应用hybird初体验
  10. libevent核心思想:epoll反应堆模型
  11. java 图片下载爬虫_java入门爬虫(爬取网页的图片下载到本地磁盘)
  12. 【Debug记录】Libtorch部署YOLO时cmake报错--symbol lookup error: ./test/test: undefined symbol: _ZN2at6detail1
  13. POJ——多项式加法(WA)
  14. 泱泱大中华,美丽我的家 - 俗晒网速,感受幸福
  15. 34604-52-9,Ms-PEG3-Ms甲磺酸基是良好的离去基,也可用作伯醇的保护基
  16. Codeforces Round #536 (Div. 2) E. Lunar New Year and Red Envelopes(DP+muitiset优化)
  17. php的declare命令如何使用?
  18. 中学生计算机编程大赛有哪些,学了编程可以参加哪些含金量高的比赛?
  19. 干货 | 使用京东云搭建视频直播网站
  20. 通过CSS代码判断浏览器方法大全

热门文章

  1. linux网卡点灯命令,LINUX下SHELL GPIO点灯
  2. android后台文件下载库,android中如何下载文件并显示下载进度
  3. centos 7 mysql 默认_centos7 mysql 5.6.30 默认配置文件
  4. 计算机网络:详解HTTP协议
  5. Java基础:由JVM内存模型详解线程安全
  6. Linux用户态协议栈好处,关于用户态协议栈的思考
  7. Error:Execution failed for task ':app:clean'.
  8. 在linux中的virtualbox无法挂载usb设备的解决方法
  9. java程序如何优化--技巧总结
  10. 02-导航实例-storyboard实现