区分Java中抽象类和接口的方法

2016-12-28 00:00:00嘉辉 JAVA认证

  在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。

  abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进 行抽象类定义时对于abstract class和interface的选择显得比较随意。其实,两者之间还是有很大的区别的,对于它们的选择甚至反映出对 于问题领域本质的理解、对于设计意图的理解是否正确、合理。本文将对它们之间的区别进行一番剖析,试图给开发者提供一个在二者之间进行选择的依据。

  理解抽象类

  abstract class和interface在Java语言中都是用来进行抽象类,所有的成员方法都是abstract的。从某种意义上说,interface是一种非凡形式的 abstract class.

  从编程的角度来看,abstract class和interface都可以用来实现 “design by contract” 的思想。但是在具体的使用上面还是有一些区别的。

  首先,abstract class 在 Java 语言中表示的是一种继续关系,一个类只能使用一次继续关系。但是,一个类却可以实现多个interface.也许,这是Java语言的设计者在考 ..........

阅读全文

[JAVA认证]相关推荐

[JAVA认证]相关栏目推荐
查看更多
上一篇:Java面向对象设计的经验原则 下一篇:2017年经典的Java基础面试题