接口的特点:
1.接口是对外暴露的规则
2.接口是程序的功能扩展
3.类与接口之间是实现关系,而且类可以继承一个类同时实现多个接口,降低了耦合性
4.接口与接口之间可以有继承关系
以下是摘自一些前辈的博客
接口还有一个重要的作用,java语言中只有单继承,就是说只能从一个父类继承。单继承的好处是,一旦继承的太多了,改了一个类,子类就都变了。那么如果想继承多个父类的特性怎么办呢?就用接口吧,这个类可以先继承一个类,再去实现其它的接口,接口里面都是抽象方法,不会造成牵一发而动全身的效应。改变多继承的特性,也是对C++语言的一项改进。
业界有一种说法说,与其说java是面向对象编程,还不如说它是面向接口编程。强调的方面是接口的抽象描述性。它也是对C++的一种改进,C++里面没有接口。所以说java语言适合多人团队合作的大项目,看一个接口就可以了,后面怎么实现的可以不管。
Java语言不支持一个类有多个直接的父类,但是可以实现多个接口,间接地实现了多继承。java接口中的方法都是public,abstract类型的,没有方法体,不能实例化。接口就是一个纯抽象类,只有抽象方法,绝对没有实现。实现接口即是在给自己的类添加一个或者多个方法。使用接口是为了在设计模式上的规范。
接口有利于代码功能的扩展,即增加功能。继承则是有利于代码功能的修改(修改完善功能)。这里旧功能的修改和新功能的增加,都是不修改父类的功能,父类的功能仍然可用。
参考博客链接:
http://blog.chinaunix.net/uid-25885064-id-3361989.html
http://www.cnblogs.com/luckyliu/archive/2012/03/13/2394372.html
http://www.2cto.com/kf/201108/98923.html
原文地址:http://blog.csdn.net/joakim_zhou/article/details/44034073