Interface 的本质用处
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 的本质用处相关推荐
- Go 语言编程 — 高级数据类型 — Interface、多态、Duck Typing 与泛式编程
目录 文章目录 目录 Golang 的接口 Interface 实例存储的是实现者的值 如何判断某个 Interface 实例的实际类型 Empty Interface Interface 与多态 I ...
- System Verilog学习笔记—虚接口(virtual interface)
1.虚接口(virtual interface) 1.1为什么引入虚接口? 我们知道,通过引入interface可以简化模块儿之间的连接,即interface是连接硬件的,其是硬件语言:但对于验证来说 ...
- 看了两篇园子里的文章,初步懂了点接口的涵义
之前对于"接口"概念很模糊,今天看了园子里两篇文章,有点开始懂了: http://www.cnblogs.com/AndyFish/archive/2008/08/11/12652 ...
- flask 路由 php文件,Flask 请求处理流程(一):WSGI 和 路由
flask 一个基于 python 实现的Web开发微框架,主要依赖: Werkzeug:一个 python 的 WSGI 工具包,也可以作为一个 Web 框架的底层库. Jinja2:为 pytho ...
- Spring Enable批注–编写自定义的Enable批注
Spring提供了一系列名称以Enable *开头的注释,这些注释本质上使某些Spring管理的功能可以被激活. 这样的注释的一个很好的例子是EnableWebMvc ,它引入了在基于Spring的应 ...
- Java基础笔记 – 枚举类型的使用介绍和静态导入
Java基础笔记 – 枚举类型的使用介绍和静态导入 本文由 arthinking 发表于404 天前 ⁄ Java基础 ⁄ 暂无评论 ⁄ 被围观 1,433 views+ 1.枚举(Enum): JD ...
- laravel-神奇的服务容器(转)
原文地址: http://www.insp.top/learn-laravel-container ,转载务必保留来源,谢谢了! 容器,字面上理解就是装东西的东西.常见的变量.对象属性等都可以算是容器 ...
- laravel的启动过程解析(转)
转载地址:https://www.cnblogs.com/lpfuture/p/5578274.html 如果没有使用过类似Yii之类的框架,直接去看laravel,会有点一脸迷糊的感觉,起码我是这样 ...
- Android 和 iOS 各有千秋
随便搜索一下"Android vs. iOS",都会出现很多关于哪个平台更好的争论,大多数的争论点都是关于市场占有率.易用性和设备分化等问题.当然也有一些"以开发者的角度 ...
最新文章
- Python+OpenCV实现自动扫雷,挑战扫雷世界记录!
- SpringBoot中整合使用Freemarker
- 开通qq邮箱的smtp服务的流程详情
- Markdown--语法说明
- 如何建立自己的工作库,把分散信息有效整理?
- python基础教程书籍-7本Python必读的入门书籍
- Android 开机logo支持的格式
- 淘宝电商PRD文档模板讲解
- hybird简介以及安卓应用hybird初体验
- libevent核心思想:epoll反应堆模型
- java 图片下载爬虫_java入门爬虫(爬取网页的图片下载到本地磁盘)
- 【Debug记录】Libtorch部署YOLO时cmake报错--symbol lookup error: ./test/test: undefined symbol: _ZN2at6detail1
- POJ——多项式加法(WA)
- 泱泱大中华,美丽我的家 - 俗晒网速,感受幸福
- 34604-52-9,Ms-PEG3-Ms甲磺酸基是良好的离去基,也可用作伯醇的保护基
- Codeforces Round #536 (Div. 2) E. Lunar New Year and Red Envelopes(DP+muitiset优化)
- php的declare命令如何使用?
- 中学生计算机编程大赛有哪些,学了编程可以参加哪些含金量高的比赛?
- 干货 | 使用京东云搭建视频直播网站
- 通过CSS代码判断浏览器方法大全
热门文章
- linux网卡点灯命令,LINUX下SHELL GPIO点灯
- android后台文件下载库,android中如何下载文件并显示下载进度
- centos 7 mysql 默认_centos7 mysql 5.6.30 默认配置文件
- 计算机网络:详解HTTP协议
- Java基础:由JVM内存模型详解线程安全
- Linux用户态协议栈好处,关于用户态协议栈的思考
- Error:Execution failed for task ':app:clean'.
- 在linux中的virtualbox无法挂载usb设备的解决方法
- java程序如何优化--技巧总结
- 02-导航实例-storyboard实现