您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

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

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

参考-JVMS 4.1 ClassFile结构

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

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

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

java 2022/1/1 18:16:22 有616人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶