【问题标题】:Java - Is every interface an abstract class? [duplicate]Java - 每个接口都是抽象类吗? [复制]
【发布时间】:2013-06-23 13:12:51
【问题描述】:

在 Java 中,接口中的每个方法都是隐式抽象的。但是当一个类中至少有一个方法是抽象的,这意味着这个类是抽象的。这是否意味着每个接口都是一个抽象类?

【问题讨论】:

    标签: java class methods interface abstract


    【解决方案1】:

    我想在某种程度上,是的。 abstract class 可以用作interface

    问题是class 只能在其他class 上使用extends。一个类可以implements任意数量的interfaces。

    因此,虽然abstract classes 与interfaces 相似,但它们在现实中却大不相同。

    【讨论】:

    • 这在可能的 dup 问题中有详细解释和详细说明。
    • @LuiggiMendoza 啊,是的,对不起。没有注意到一个 - 投票以 dup 结束。
    【解决方案2】:

    这是否意味着每个接口都是一个抽象类?

    没有。接口(在 Java 7 和更早版本中)可以没有方法实现,也可以不定义实例字段。一个抽象类可以做到这两点。这些只是一些实质性差异。

    【讨论】:

      【解决方案3】:

      但是当一个类中至少有一个方法是抽象的。

      但它不是一个类,它的接口。

      相反,您可以说它是一个抽象接口。

      最后:根据定义,接口是抽象的。

      【讨论】:

        【解决方案4】:

        是的,当我反编译一个接口时,它有修饰符 public abstract interface,根据定义,它们必须是抽象的才能包含抽象方法。

        【讨论】:

        • 抽象接口与抽象类不同。
        猜你喜欢
        • 2010-09-20
        • 2011-05-22
        • 1970-01-01
        • 2012-09-12
        • 2014-08-03
        • 2013-03-09
        • 2011-10-10
        • 2011-12-05
        • 2011-07-02
        相关资源
        最近更新 更多