在Java中,我们可以在一个类中创建多少个构造函数?

2024-02-20

在Java中,我们可以在一个类中创建多少个构造函数。


严格来说,JVM 类文件格式将类的方法数量(包括所有构造函数)限制为少于 65536 个。根据 Tom Hawtin 的说法,有效限制为 65527 个。每个方法签名在常量池中占用一个槽。由于 65535 个池条目中的一些(不可避免地)被其他事物消耗,因此格式良好的类文件不可能使用所有可能的方法/构造函数 id。

参考 -JVMS 4.1 类文件结构 https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html

但是,如果您以正常方式编写合理的 Java 代码,则不会遇到该限制。

多少should你有?这取决于类的用例。拥有多个“方便”的构造函数重载通常很好,并使用它们来实现它们this(...)链接到“主”构造函数。 (但是,您可以超越顶部。N 个不同参数有 N!种可能的组合(重载)。)

如果您发现您正在编写过多(主观!)的构造函数,您也许应该考虑替代方案,例如建造者模式 https://www.javaworld.com/article/2074938/core-java/too-many-parameters-in-java-methods-part-3-builder-pattern.html.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在Java中,我们可以在一个类中创建多少个构造函数? 的相关文章

随机推荐