我们知道构造函数初始化对象的数据字段。现在如果我们的类中没有任何字段,那么构造函数就没有什么可以初始化的。
构造函数在这样的类中做了什么?
答案 0 :(得分:2)
虽然构造函数最明显的目的是初始化数据字段,但它绝不是唯一的。
构造函数的主要目的是创建类的对象。没有对象,就不可能调用该类的任何非静态方法。您可能会说,如果类没有数据字段,则非静态方法没有意义,但这不正确,因为派生类可能包含数据字段。
您通常应该考虑该类可以是类层次结构的一部分。 (在Java中,总是如此,因为每个类都派生自Object
。)构造函数通常调用基类的构造函数。
构造函数也可能有副作用。一个示例是写入日志文件的消息。在调用构造函数时,创建的对象也可以在某些列表中注册。