java – 无参数构造函数v / s带有参数的构造函数

以下哪一个更好或者更喜欢

new Object();  
Object.setValue1("1");  
Object.setValue2("2");  
Object.setValue3("3");  

要么

new Object("1","2","3");
最佳答案
(我假设您正在讨论自己的类的设计,而不是如何使用其他已经设计的类.)

两者都不总是“更好”,它取决于对象的性质和(在某种程度上)你喜欢的风格.

如果一个对象在没有外部信息的情况下不能具有有意义的状态,那么要求构造函数中的信息是有意义的,因为这样就无法创建具有无效状态的实例.

然而,具有尽可能少的信息的构造函数在使类易于在各种情况下使用方面是有用的.如果类是零参数构造函数是可行的并且不会使类复杂化,那么它在支持各种用例方面是很好的,包括将实例构建为解析其他结构的一部分的情况(JSON, XML等).

转载注明原文:java – 无参数构造函数v / s带有参数的构造函数 - 代码日志