您的位置:首页 > 其它

abstract class和interface的区别

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

1.相同点

  A. 两者都是抽象类,都不能实例化。

  B. interface实现类及abstrct class的子类都必须要实现已经声明的抽象方法。
2. 不同点

  A. interface需要实现,要用implements,而abstract class需要继承,要用extends。

  B. 一个类可以实现多个interface,但一个类只能继承一个abstract class。

  C. interface强调特定功能的实现,而abstract class强调所属关系。 

  D. 尽管interface实现类及abstrct class的子类都必须要实现相应的抽象方法,但实现的形式不同。interface中的每一个方法都是抽象方法,都只是声明的 (declaration, 没有方法体),实现类必须要实现。而abstract class的子类可以有选择地实现。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: