一个类文件可以实现多少个接口 [已关闭]

2022-09-01 21:46:43

一个类文件可以实现多少个接口?类文件使用的接口数量是否有限制?


答案 1

出于所有实际目的,一个类可以实现的接口数量没有限制,但java不允许你从多个超类继承。

但是,如果您真的想挑剔,则可以说一个类可以实现的接口数量受java字节码中接口ID的最大值的约束,或者实现这些接口必须具有的代码内存量,或者存储字节码的硬盘驱动器空间量。这些都是愚蠢的论点。显然,由于您的计算机没有无限的内存、无限的吞吐量和无限的代码空间,我们知道所有内容都有理论最大值,就像单个 jar 中可以有理论上的最大代码行数一样。

但是,如果您真的想知道一个类可以实现的理论最大接口数,那就是65535。


答案 2

摘自 Java VM 规范关于 JVM 的限制:

类或接口的直接超接口的数量限制为 65535,具体取决于 ClassFile 结构的interfaces_count项的大小。

这是唯一的限制。这是由于编译的Java字节码的结构。