How much interfaces a class file can implement [closed]

佐手、 提交于 2019-11-28 11:55:49

For all practical purposes, there is no limit on the number of interfaces a class can implement, but java does not let you inherit from multiple superclasses.

However, if you really want to nitpick, you can say that the number of interfaces a class can implement is bound by the maximum value the interface id can be in java bytecode, or the amount of code memory you have to implement these interfaces, or the amount of hard drive space to store your bytecode. These are silly arguments. Obviously, because your computer doesn't have infinite memory, infinite throughput, and infinite code space, we know that there are theoretical maximums on everything, just like how there's a theoretical maximum number of lines of code you can have in a single jar.

But if you really really want to know the theoretical maximum number of interfaces a class can implement, it's 65535.

Jivings

From the Java VM Specification on Limitations of the JVM:

The number of direct superinterfaces of a class or interface is limited to 65535 by the size of the interfaces_count item of the ClassFile structure.

That is the only limitation. And it is due to the structure of the compiled Java bytecode.

Peter Lawrey

The limit is more practical than technical.

A realistic limit is in the dozens for hand written code. For generated code you can have much more, but I suspect you have something wrong with your design if you have that many.

The limit in the file format is 65535.

Given most large projects have less than 10K classes, so it is hard to imagine why you would want to implement that many interfaces in one class.

your class can implement unlimited no of Interfaces and one Interface can extend unlimited no of Interfaces but best practice is to don't implement so many interfaces .

There is no limit on the number of interfaces a class can implement.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!