Java的构造方法
构造函数
当实例字段增加时,代码会变得冗长。
类中有一个叫做构造函数的东西,在使用new生成实例之后会自动调用的特殊方法中使用。
构造函数是特殊方法,因此其定义方式是确定的。
①构造函数的名称应与类名相同。
②不要写返回值(也不要写void)。
【例】本次我们将选择人(Person)。
class クラス名 {
クラス名() { //コンストラクタ〜
//インスタンス生成時に行いたい処理を記述
} //〜コンストラクタ
}
【例】The cat is sitting on the mat.
class Main {
public static void main(String[] args) {
Person person1 = new Person();
Person person2 = new Person();
}
}
class Person {
Person() {
System.out.println("おはよう");
}
}
下一个例子演示如何在创建实例时通过参数传递并在构造函数中设置实例字段的值。你可以使用”this”关键字来访问该实例。
class Main {
public static void main(String[] args) {
Person person1 = new Person("佐藤");
person1.hello();
Person person2 = new Person("鈴木");
person2.hello();
}
}
class Person {
public String name;
Person(String name) { //コンストラクタがString型の引数を受け取るようにしています
System.out.println("おはよう");
this.name = name; //インスタンスフィールドnameに値をセットしています
}
public void hello() {
System.out.println("私は" + this.name + "です");
}
}
根据上述情况,在Person.java的构造函数”Person(String name)”中,”new Person(“佐藤”);”这个部分中的佐藤会成为Person.java中的name,使得”this.name = name;” 的右侧的name被赋值为佐藤(鈴木),然后再赋值给this.name。
构造函数内的重复内容
如果构造函数的内容重复,则可以使用”this()”来调用其他构造函数。
“this()”是用于调用构造函数的特殊方法,也可以在括号中传递参数。
“this”只能在构造函数的开头调用。