对于具有重载构造函数的类,包括Default Constructors的良好实践。

时间:2016-08-23 11:34:06

标签: java default-constructor

在Java中,当构造函数重载时,不会自动包含默认构造函数。虽然对于编译不需要默认构造函数,但我已经读过,最好包含一个默认构造函数和重载的构造函数。

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

2 个答案:

答案 0 :(得分:0)

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

如果你需要两个构造函数,一个带参数,一个没有,你需要手动定义它们。

答案 1 :(得分:0)

这取决于;虽然DTO总是有一个默认构造函数(这样它们符合Javabeans约定),但如果构造函数参数是一个强制依赖(想想服务bean中的数据访问组件),那么它应该在每个构造函数中,从而使默认构造函数是一个糟糕的选择。