Java:在类中定义接口有什么用处?
2016-05-09 15:43
477 查看
package com.dao.util; public class Util { public interface Worker { void work(); } } package com.dao.util; import com.dao.util.Util.Worker; public class Demo implements Worker { public void work() { System.out.println("Is working"); } }
Android中处理点击事件的OnClickListener接口也是被定义在类View中的
不晓得这样做有什么好处,在我看来仅仅是为接口添加了个命名空间,明确了接口的所属,且免去了到处定义一堆.java文件,是不是还有什么其他的优点呢?
你讲的原因很好。在类中定义一个接口,从本质上来说,跟在抽象类中定义一个接口是一个意思,所谓的抽象,就是这个东西会改变~~~根据面向对象的思想,要封装好变化的部分。
可能涉及到的涉及模式:模板涉及模式/命令涉及模式,在这个util类里面封装了会改变的Worker,也就是说,util类里面有自己的算法:一部分是固定,另外一部分是可变的,而这个可变的部分就变成了一个接口(接口是特殊的抽象类~其实的意思大概的这个worker可能在不同的工作环境有不同的工作方式,例如work(),onvaction())
所以在类里面放一个接口不是什么新的设计,而是一种思想方式,让代码扩展性更高
相关文章推荐
- Java JNI_OnLoad的妙用
- java之接口
- 无法打开eclipse,显示eclipse was started but error code=13
- URL的通信连接---java URLConnection类
- 探秘Java虚拟机——内存管理与垃圾回收
- Java8简单的本地缓存实现
- Spring学习之切入点表达式
- Java集合
- 类加载机制(类加载过程和类加载器)
- struts2(十)之JSON基础
- Java JTable与滚动条JScollpane结合使用不能出现很想滚动条的解决办法
- Java开发环境搭建全过程(附带视频)
- java代码工具--Date格式化
- spring常问面试题
- SVN使用教程之-分支/标记 合并 subeclipse
- 【JavaService】使用Java编写部署windows服务
- Java 标准I/O重定向
- Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
- java工程师应掌握的
- Java Observer 观察者模式 程序 总结