java - 无参数构造函数与带参数的构造函数

标签 java

以下哪个更好或更受欢迎

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/

相关文章:

java - 假装同步的异步 websocket 机制

java - 通过 checkstyle-suppressions.xml 抑制 Google Checkstyle 警告

java - 具有多个同名 setter 的 JAXB 行为编码(marshal)类

java - 接口(interface)名称可以是返回类型吗?

java - kotlin 中此 XML 响应的 POJO 对象

java - 建立移动网站

java - 从存储在数组中的行打印选定的数字

java - JAVA_HOME环境变量和 "java -version"的输出有什么区别

java - Ubuntu : javac package gnu. io不存在