通过面向接口,可以达到“只关心接口本身,而并不关心具体实现”而能达到低耦合,增加可维护性等目的,但是这也有自身的限制阿,比如接口中的方法是对客观事物的一种抽象,可是各个接口的实现类除了实现接口方法以外也可以增加自己独有的方法,那么通过接口引用不就无法访问到那些方法了么???还有面向接口要求在开发之前将借口中应有的方法抽象出来,如何才能设计出这些方法,如果还想以前一样写着写着才发现有个方法需要,当时没想到,再修改接口及其所有的实现类就很麻烦了??

解决方案 »

  1.   

    另外所谓接口有两层含义:一是指 Java 中的 interface,另一指我们操作对象使用的类暴露出来的公有成员。
      

  2.   

    只关心接口本身,而并不关心具体实现, 设计模式也提到了这句话。 建议看 head first 设计模式,里边提到一个多种鸭子的例子,对于为什么要用接口,以及使用接口的好处列举的非常详细。这本书 是china pub 2007年最畅销的一本,里边有很多图片和例子,很好明白的,看起来也不枯燥