以下哪个更好或更受欢迎
new Object();
Object.setValue1("1");
Object.setValue2("2");
Object.setValue3("3");
或
new Object("1","2","3");
最佳答案
(我假设你是在谈论你自己的类的设计,而不是如何使用其他已经设计好的类。)
两者都不总是“更好”,这取决于对象的性质和(在一定程度上)您喜欢的风格。
如果一个对象在没有一些外部信息的情况下不能具有有意义的状态,那么在构造函数中要求该信息是有意义的,因为这样您就无法创建具有无效状态的实例。
但是,从使类在各种情况下易于使用的角度来看,构造函数需要的信息越少越好。如果类是这样的,零参数构造函数是可行的并且不会使类复杂化,那么它在支持各种用例方面非常好,包括将实例构建为解析其他结构的一部分的情况(JSON, XML 等)。
关于java - 无参数构造函数与带参数的构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8351817/