【问题标题】:What is the difference between an interface and an abstract class in Java? [duplicate]Java中的接口和抽象类有什么区别? [复制]
【发布时间】:2012-04-28 11:07:44
【问题描述】:

可能重复:
What is the difference between an interface and abstract class?

Java 中的接口和抽象类有什么区别?为什么我要使用一个而不是另一个?

【问题讨论】:

  • Java 不是首字母缩写词,也不是全大写字母,所以不太清楚你为什么写“JAVA”。
  • 为什么人们在我提问时会给我不好的分数并且对每个人都彬彬有礼?
  • @darkuzul:您本可以搜索已在此论坛上提出的类似问题,而不是发布新问题。
  • 对不起,我是新人,我解释说这是我的第一篇文章,但有人删除了我写的所有内容,我不明白为什么。

标签: java


【解决方案1】:

抽象类可以包含实现,但它是一个类,你只能扩展一个类。

接口只包含声明而不包含实现,您可以实现任意数量的接口。

如果您不需要实现任何方法,请使用接口。

如果您必须实现一个方法,请使用抽象类,但请考虑让它实现一个接口。这将允许您在无法使用抽象类的情况下使用替代实现,例如由于无法进行多重继承。

【讨论】:

  • 这是一个很好的答案,我想我现在有点明白了,谢谢
【解决方案2】:

这是一个非常广泛的问题,它们之间有很多区别,不可能在这里讨论所有问题,你可以谷歌它以获得好的答案,但是

广义地说抽象类部分实现部分未实现的结构,但接口完全未实现的结构

【讨论】:

  • 谢谢你,但你什么时候选择在接口之上使用抽象类?
  • 我想给你积分,但它说我必须有 15 我怎么给你?对不起
  • 等待对您的问题和答案进行几次投票,您将获得投票的选项。
【解决方案3】:

这是我对 2 年前写的一些现实生活示例的解释 -

http://karthikjcecs.wordpress.com/2009/01/14/java-interfaces-versus-abstract-class/

希望它可以帮助您更好地理解。

【讨论】:

    猜你喜欢
    • 2010-11-13
    • 2013-02-17
    • 2019-03-02
    • 2019-12-14
    • 2010-12-27
    • 2011-04-04
    • 2019-10-17
    相关资源
    最近更新 更多