【发布时间】:2013-06-23 13:12:51
【问题描述】:
在 Java 中,接口中的每个方法都是隐式抽象的。但是当一个类中至少有一个方法是抽象的,这意味着这个类是抽象的。这是否意味着每个接口都是一个抽象类?
【问题讨论】:
标签: java class methods interface abstract
在 Java 中,接口中的每个方法都是隐式抽象的。但是当一个类中至少有一个方法是抽象的,这意味着这个类是抽象的。这是否意味着每个接口都是一个抽象类?
【问题讨论】:
标签: java class methods interface abstract
我想在某种程度上,是的。 abstract class 可以用作interface。
问题是class 只能在其他class 上使用extends。一个类可以implements任意数量的interfaces。
因此,虽然abstract classes 与interfaces 相似,但它们在现实中却大不相同。
【讨论】:
这是否意味着每个接口都是一个抽象类?
没有。接口(在 Java 7 和更早版本中)可以没有方法实现,也可以不定义实例字段。一个抽象类可以做到这两点。这些只是一些实质性差异。
【讨论】:
但是当一个类中至少有一个方法是抽象的。
但它不是一个类,它的接口。
相反,您可以说它是一个抽象接口。
最后:根据定义,接口是抽象的。
【讨论】:
是的,当我反编译一个接口时,它有修饰符 public abstract interface,根据定义,它们必须是抽象的才能包含抽象方法。
【讨论】: