gpt4 book ai didi

java - java编译器如何检查接口(interface)中的所有方法是否都已实现?

转载 作者:行者123 更新时间:2023-12-01 09:38:50 28 4
gpt4 key购买 nike

如果我声明我的对象实现了一个接口(interface),但未能实现这些方法,那么当我编译代码时,我会收到编译器错误。 java编译器如何知道我还没有实现接口(interface)的所有方法?

最佳答案

How does the java compiler know that I haven't implemented all of the methods of an interface?

它知道您的类已实现的所有方法,因为它在编译期间找到并分析了它们。

它知道类的所有父类(super class)和接口(interface)中定义的所有方法,因为:

  1. 它要么刚刚编译了源代码,要么加载了“.class”文件,并且

  2. 它分析了接口(interface)/类并找出您的类需要实现哪些方法。

然后比较两组方法。 (请注意,方法不需要完全相同。例如,实际方法可以返回接口(interface)中方法的返回类型的子类型。集合比较需要考虑到这一点。)

<小时/>

(实际上,这只是执行此检查的一种方法。实际的 Java 编译器执行的检查可能会有所不同。)

关于java - java编译器如何检查接口(interface)中的所有方法是否都已实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38616082/

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