对于包含重载构造函数的类,包含一个默认构造函数良好实践。

问题描述:

在Java中,当构造函数重载时,默认构造函数不会自动包含。编译时默认构造函数不是必需的,但我已经读过,包含一个默认构造函数以及重载的构造函数是一个好习惯。对于包含重载构造函数的类,包含一个默认构造函数良好实践。

这是常见的专业做法还是少数程序员的选择?

+3

为了能够回答这个问题,如果你告诉我们你想知道什么*语言,这将是一个好主意。请修改您的问题以包含正确的语言标记。或者,如果无关紧要,可以添加标签'language-agnostic'(尽管这会使问题变得广泛并且将其关闭)。 –

+0

谢谢,我已经格式化了这个问题。 –

只有当你自己没有定义任何构造函数时,才会自动创建一个默认(无参数)构造函数。

如果您需要两个构造函数,一个带有参数,另一个不带,则需要手动定义两者。

+0

这是真的,但我很好奇为什么要添加一个默认值,即使你不使用它作为开发人员的良好做法。 –

这真的取决于;虽然DTO总是有一个默认构造函数(以便它们遵守JavaBeans约定),但是如果构造函数参数是强制性依赖项(认为是服务bean中的数据访问组件),那么它应该存在于每个构造函数中,默认的构造函数是不好的选择。