面向接口编程概念及其优点到处可见,但是真正能够非常形象的解释到底什么是面向接口编程的至今没有找到,无奈到这里求助,希望能够得到答案,可以用类比或者是具体的代码实现来解释,不胜感激。
解决方案 »
- java连接oracle被阻断后,不能重新建立连接
- 反编译出来的JAVA代码有问题!各位大哥帮忙看看!
- 请大侠们指导学习方法
- 使用java将你好这种编码转成汉字
- 有谁做过基于linux的非图形界面的java程序?
- 数据库查询,巨不解的问题。
- 为什么我右键也heighlight JTree?
- 各位大哥请问哪里有java2的类库大全可以下载?jbuilder的文档(linux下的)哪里有?
- JAVA中如何取得文件的LASTMODIFY时间?File中只有setLastModify方法
- String.getBytes()问题
- 后台添加栏目,提示“执行SQL语句错误”,请教大神们!
- File.delete()删除文件,偶尔删除失败。有遇到过类似的情况的没有吗?快疯了
接口只提供方法的声明,没有具体实现。
在子类中实现接口方法的具体实现。
不同的子类对用一个接口,可以有不同的实现。
这样就可以把不同的子类放到同一个接口的数组中,统一操作。
就像 牛和羊都是动物一样。 牛、羊实现了接口动物的,呵呵。
就好像银行提供给商家的付款接口。 只要拿来用就行,不用关心具体实现。java只允许一个类继承一个父类,但是可以实现多个接口。这样提高了代码的重用性。
可能说的不是很明白。 看一些相关的书籍资料,多自己写点类,在实践中就能渐渐明白了。可以参考下面的例子
http://blog.csdn.net/yu555666/article/details/1515674
关于接口的理解。
接口从更深层次的理解,应是定义(规范,约束)与实现(名实分离的原则)的分离。
我们在一般实现一个系统的时候,通常是将定义与实现合为一体,不加分离的,我认为最为理想的系统设计规范应是所有的定义与实现分离,尽管这可能对系统中的某些情况有点繁烦。
接口的本身反映了系统设计人员对系统的抽象理解。
接口应有两类:第一类是对一个体的抽象,它可对应为一个抽象体(abstract class);
第二类是对一个体某一方面的抽象,即形成一个抽象面(interface);
一个体有可能有多个抽象面。
抽象体与抽象面是有区别的。
以上来自百度百科的面向接口编程