随笔-208  评论-469  文章-30  trackbacks-0

抽象类和接口都位于继承树的上层,它们具有以下相同点:
代表系统的抽象层;
    当一个系统使用一棵继承树上的类时,应该尽可能地把引用变量声明为继承树的上层抽象类型,这样可以提高两个系统之间的松耦合。

都不能被实例化;
都能包含抽象方法。这些抽象方法用于描述系统能提供哪些服务,但不必提供具体的实现。
抽象类与接口主要有两大区别:

    (1)在抽象类中可以为部分方法提供默认的实现,从而避免在子类中重复实现它们,提高代码的可重用性,这是抽象类的优势所在;而接口中只能包含抽象方法。
   
    扩展功能时,在抽象父类中加入具体方法不会影响子类;但在接口中加入抽象方法会影响到所有实现类。

    (2)一个类只能继承一个直接的父类,这个父类有可能是抽象类;但一个类可以实现多个接口,这是接口的优势所在。

posted on 2006-11-29 00:40 EricWong 阅读(207) 评论(0)  编辑  收藏 所属分类: Java

只有注册用户登录后才能发表评论。


网站导航: