【发布时间】:2015-05-22 15:11:18
【问题描述】:
众所周知,Java 是一种面向对象的语言。 Java 中的一切都是对象。我们也知道对象有一些东西(实例变量/字段)并做一些事情(方法)。我们使用方法更改实例变量的状态是安全的,即;设置者和获取者。所以在构造函数中我们初始化实例变量。所以换句话说,构造函数正在为一个对象做一些事情。那么假设构造函数是一种实用方法,就像设置值的设置器一样,这不是正确的吗?不同之处在于,在 setter 的情况下,即使我们有返回类型 void 而在构造函数中我们没有任何返回类型。并且 setter 可以在对象上调用任意次数,但构造函数可以在对象的生命周期中调用一次。
【问题讨论】:
-
我会说构造函数更像是工厂方法,而不是 setter。
标签: java