Java 构造方法
在 Java 中,构造方法 (Constructor) 是一种特殊类型的方法,它在创建类的新对象时被调用。它的主要目的是为对象的实例变量提供初始值。
构造方法的特点
- 名称与类名相同: 构造方法的名称必须与它所在的类的名称完全匹配。
- 没有返回类型: 构造方法没有返回类型,连
void也没有。这是它与普通方法的一个关键区别。 - 自动调用: 当使用
new关键字创建类的实例时,构造方法会被自动调用。
默认构造方法 (Default Constructor)
如果您在类中没有定义任何构造方法,Java 编译器会自动为您提供一个无参数的、方法体为空的默认构造方法。这个构造方法会将实例变量初始化为其默认值(数值为 0,布尔值为 false,引用类型为 null)。
重要: 一旦您在类中定义了任何一个构造方法(无论有无参数),编译器就不会再为您提供默认构造方法了。
带参数的构造方法 (Parameterized Constructor)
通常,我们希望在创建对象时就能为其属性设置有意义的初始值。这可以通过定义带参数的构造方法来实现。
this 关键字
在上面的例子中,this.name = dogName; 这一行:
this.name指的是当前正在创建的对象的实例变量name。dogName指的是传递给构造方法的局部参数dogName。
当参数名和实例变量名相同时,必须使用 this 关键字来消除歧义。这是一种非常常见的编码风格。
构造方法重载 (Constructor Overloading)
和普通方法一样,构造方法也可以被重载。这意味着一个类可以有多个构造方法,只要它们的参数列表不同(参数的数量、类型或顺序不同)。
这为创建对象提供了更大的灵活性。
通过重载构造方法,我们可以根据不同的初始信息,方便地创建出符合要求的对象。