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

问题描述

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

参考-JVMS 4.1 ClassFile结构

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

应该 有几个?这取决于类的用例。经常有多个“便利”构造函数重载,并使用this(...)链到“主”构造函数来实现它们是很好的。(但是,您可以转到顶部。有N!个N个不同参数的可能组合(重载)。)

如果发现编写的构造函数过多(主观!),则应考虑使用诸如Builder Pattern之类的替代方法

解决方法

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

猜你在找的技术问答相关文章

如何检查配对的蓝牙设备是打印机还是扫描仪(Android)
是否允许实体正文进行HTTP DELETE请求?
如何将ZipInputStream转换为InputStream?
java.util.logging Java 8中的变量
PowerMockito.doReturn返回null
Java中的RESTful调用
Swing / Java:如何正确使用getText和setText字符串
特殊字符和重音字符
Android Studio中的ndk.dir错误
错误“找不到主类”