一个类文件可以实现多少个接口?类文件使用的接口数量有限制吗?提前致谢。
IT小君
2021-11-14T07:15:54 一个类文件可以实现多少个接口?类文件使用的接口数量有限制吗?提前致谢。
IT小君 来自 Java VM Specification on Limitations of the JVM:
ClassFile 结构的interfaces_count 项的大小将类或接口的直接超接口数量限制为65535。
这是唯一的限制。这是由于编译的Java字节码的结构。
IT小君 限制比技术更实用。
手写代码的实际限制是几十个。对于生成的代码,您可以拥有更多,但如果您拥有那么多,我怀疑您的设计有问题。
鉴于大多数大型项目的类少于 10K,因此很难想象为什么要在一个类中实现这么多接口。
IT小君 您的类可以实现无限制的 no ofInterfaces并且Interface可以扩展无限制的 no ofInterfaces但最佳实践是不要实现这么多接口。
IT小君 一个类可以实现的接口数量没有限制。
出于所有实际目的,一个类可以实现的接口数量没有限制,但是 java 不允许您从多个超类继承。
但是,如果你真的想吹毛求疵,你可以说一个类可以实现的接口数量受java字节码中接口id可以是最大值的限制,或者你必须实现这些接口的代码内存量,或者存储字节码的硬盘空间量。这些都是愚蠢的论点。显然,因为您的计算机没有无限的内存、无限的吞吐量和无限的代码空间,所以我们知道所有东西都有理论上的最大值,就像在单个 jar 中可以拥有的理论上的最大代码行数一样。
但如果你真的想知道一个类可以实现的接口的理论最大数量,那就是 65535。