1

我相信我现在了解构造函数是什么,但对我来说,它们似乎只是用于将信息传递给另一个类中的方法。那么为什么不直接调用一个方法并提供一个参数呢?我错了吗?

4

3 回答 3

2

构造函数用于创建对象,而不是普通的方法。每当你new用来创建一个对象时,你实际上调用了一个构造函数。例如:

new MyClass(); //here MyClass() is a constructor with no params

注意

构造函数声明看起来像方法声明——除了它们使用类的名称并且没有返回类型

于 2013-09-28T16:40:15.407 回答
0

无论何时传递参数,构造函数都用于初始化对象的新实例。

在构造函数中包含参数只是一种在对象初始化期间轻松设置一些初始属性的方法,对象很可能需要这些属性才能按预期工作。

但是,如果不需要为实例对象的正确操作初始化这些属性,那么不将它们传递给构造函数会更有意义,而只是让一些设置器在您需要的任何其他时间传递它们。

于 2013-09-28T16:48:47.737 回答
0

如果我理解正确:

构造函数总是被调用,所以这些属性必须被传递。如果您通过方法传递此信息,则不必传递它们,因此它们可能会丢失。

于 2013-09-28T16:42:09.090 回答