面向接口编程概念及其优点到处可见,但是真正能够非常形象的解释到底什么是面向接口编程的至今没有找到,无奈到这里求助,希望能够得到答案,可以用类比或者是具体的代码实现来解释,不胜感激。
解决方案 »
- 请教一个JACOB的问题!! 急死人 小弟在线等 100分送上 不够在加
- 鼠标选中状态的确定
- 我在编写一个记事本的java程序,但是无法解决对选定字符内容的字体更改,希望哪位大虾可以帮助解决?
- return怎么用啊 我刚学习JAVA
- 请问有没有解析并运算数学表达式的开源库
- Linux Shell 上java命令问题
- java I/O问题
- jni的方法,用java调用c的代码,遇到的问题!
- 大虾们:tomcat中DataSource怎么使用?高分酬谢!!
- 救急!!!
- 后台添加栏目,提示“执行SQL语句错误”,请教大神们!
- File.delete()删除文件,偶尔删除失败。有遇到过类似的情况的没有吗?快疯了
接口只提供方法的声明,没有具体实现。
在子类中实现接口方法的具体实现。
不同的子类对用一个接口,可以有不同的实现。
这样就可以把不同的子类放到同一个接口的数组中,统一操作。
就像 牛和羊都是动物一样。 牛、羊实现了接口动物的,呵呵。
就好像银行提供给商家的付款接口。 只要拿来用就行,不用关心具体实现。java只允许一个类继承一个父类,但是可以实现多个接口。这样提高了代码的重用性。
可能说的不是很明白。 看一些相关的书籍资料,多自己写点类,在实践中就能渐渐明白了。可以参考下面的例子
http://blog.csdn.net/yu555666/article/details/1515674
关于接口的理解。
接口从更深层次的理解,应是定义(规范,约束)与实现(名实分离的原则)的分离。
我们在一般实现一个系统的时候,通常是将定义与实现合为一体,不加分离的,我认为最为理想的系统设计规范应是所有的定义与实现分离,尽管这可能对系统中的某些情况有点繁烦。
接口的本身反映了系统设计人员对系统的抽象理解。
接口应有两类:第一类是对一个体的抽象,它可对应为一个抽象体(abstract class);
第二类是对一个体某一方面的抽象,即形成一个抽象面(interface);
一个体有可能有多个抽象面。
抽象体与抽象面是有区别的。
以上来自百度百科的面向接口编程