gpt4 book ai didi

java - 实现接口(interface)的类也是接口(interface)吗?

转载 作者:行者123 更新时间:2023-11-30 03:51:37 25 4
gpt4 key购买 nike

我的印象是,当一个类实现一个接口(interface)时,它正在实现抽象方法,因此使它们成为可用的非抽象方法。我的老板认为实现接口(interface)的类也是接口(interface)。这对我来说没有意义。实现接口(interface)的类不是抽象的,也没有标记为接口(interface)。有人可以对此发表意见吗?

最佳答案

不是接口(interface)*这不会仅仅因为类实现了接口(interface)而改变。

但是,实现接口(interface)的类的实例也是该接口(interface)的实例

最大的区别,也是这里似乎被误解的一个,是类和对象之间的区别。

假设我们有以下代码:

public interface Animal {
}

public class Dog implements Animal {
public static void main() {
Animal rover = new Dog();
}
}

关于此处定义的内容之间的关系,我们可以说一些事情,也不能说一些事情。

我们可以说(假设“is (a/an)”是“is an instance of”的缩写):

  • 是一种动物。”
  • 漫游者是一只。”
  • 漫游者是一种动物。”
  • DogAnimal 的(子类型/子类/实现)。”
  • Dog(呈现/提供/实现)一个接口(interface)。”*

我们不能说:

  • Dog 是一个接口(interface)。” (不,Dog 是一个类。)*
  • 是一种动物。” (参见上文。请注意“Dog”和“a Dog”之间的区别。)
<小时/>

* 从语义角度来看,可以说每个类都是一个接口(interface)。但这个论点与interface关键字无关;它依赖于这个词的传统定义。它适用于所有类,无论该类是否实现SomeInterface

关于java - 实现接口(interface)的类也是接口(interface)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24293417/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com