【问题标题】:When to use an Abstract Class and an Interface [duplicate]何时使用抽象类和接口 [重复]
【发布时间】:2012-09-05 08:41:27
【问题描述】:

可能重复:
Interface vs Abstract Class (general OO)

请举例说明在什么情况下使用抽象类和接口。在大多数情况下,人们通常倾向于使用接口而不是抽象类,为什么? 解释它们的用途。提前致谢

【问题讨论】:

  • 多继承是非法的,接口本质上更简单。
  • 一定是 Java 中最常见的问题,也是最常被回答的问题,在 google 上有 2870000 个结果。
  • 如果没有要实现的通用功能,通常使用接口 - 只是要执行的合同。
  • 接口是一个“契约”,而抽象类是一个“骨架”。请看stackoverflow.com/questions/2091893/…

标签: java


【解决方案1】:

抽象类是一种不能被实例化的特殊类。那么,为什么我们需要一个无法实例化的类呢?抽象类只能被继承。换句话说,它只允许其他类从它继承而不能被实例化。优点是它在继承抽象类的多个类中强制执行某些常见行为或属性。

接口是由“接口”一词定义的实体。接口只包含方法的签名,其实现将由实现该接口的类提供。

【讨论】:

    猜你喜欢
    • 2011-07-12
    • 2011-12-05
    • 2011-07-02
    • 1970-01-01
    • 2012-03-26
    • 2014-06-16
    • 2011-02-21
    • 1970-01-01
    • 2011-07-13
    相关资源
    最近更新 更多