Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 一个类文件可以实现多少接口_Java_Oop_Interface_Multiple Inheritance - Fatal编程技术网

Java 一个类文件可以实现多少接口

Java 一个类文件可以实现多少接口,java,oop,interface,multiple-inheritance,Java,Oop,Interface,Multiple Inheritance,一个类文件可以实现多少个接口?类文件使用的接口数量是否有限制?提前感谢。对于所有实际用途,类可以实现的接口数量没有限制,但是java不允许从多个超类继承 然而,如果你真的想挑剔,你可以说一个类可以实现的接口数量是由接口id在java字节码中的最大值,或者你必须实现这些接口的代码内存量,或者存储字节码的硬盘空间量所决定的。这些都是愚蠢的论点。显然,因为你的计算机没有无限的内存、无限的吞吐量和无限的代码空间,我们知道每件事都有理论上的最大值,就像你在一个罐子里可以拥有的理论上的最大代码行数一样 但是

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

对于所有实际用途,类可以实现的接口数量没有限制,但是java不允许从多个超类继承

然而,如果你真的想挑剔,你可以说一个类可以实现的接口数量是由接口id在java字节码中的最大值,或者你必须实现这些接口的代码内存量,或者存储字节码的硬盘空间量所决定的。这些都是愚蠢的论点。显然,因为你的计算机没有无限的内存、无限的吞吐量和无限的代码空间,我们知道每件事都有理论上的最大值,就像你在一个罐子里可以拥有的理论上的最大代码行数一样


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

这个限制比技术上的更实际

手写代码的实际限制是几十个。对于生成的代码,您可以拥有更多,但如果有那么多,我怀疑您的设计有问题


鉴于大多数大型项目的类少于10K,因此很难想象为什么要在一个类中实现这么多接口。

来自Java VM规范:

类或接口的直接超级接口的数量受类文件结构的接口计数项的大小限制为65535


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

类可以实现的接口数量没有限制

您的类可以实现无限数量的
接口
,一个
接口
可以扩展无限数量的
接口
,但最佳实践是不要实现这么多接口

我有过多个类的子类。是的,python是一种美丽的语言。@mre我想你不明白她是怎么说的ಠ_ಠ她也是这么说的!:DJava语言规范!=JVM规范。@dacwe这里的限制不是Java语言,而是类文件规范。准确地说!Java可以被编译成字节码以外的东西……这个答案完全是错误的。