构造方法
383字约1分钟
2024-08-10
定义构造方法
创建实例的时候,实际上是通过构造方法来初始化实例的。我们先来定义一个构造方法,能在创建 Person
实例的时候,一次性传入 name
和 age
,完成初始化
public class Person {
private String name;
private Integer age;
public Person(String name, Integer age) {
this.name = name;
this.age = age;
}
}
class Test {
public static void main(String[] args) {
// 创建实例
Person marui = new Person("marui", 23);
}
}
由于构造方法是如此特殊,所以构造方法的名称就是类名。构造方法的参数没有限制,在方法内部,也可以编写任意语句。但是,和普通方法相比,构造方法没有返回值(也没有 void
),调用构造方法,必须用 new
操作符
默认构造方法
是如果一个类没有定义构造方法,编译器会自动为我们生成一个默认构造方法,它没有参数,也没有执行语句,类似这样:
class Person {
public Person() {
}
}
要特别注意的是,如果我们自定义了一个构造方法,那么,编译器就不再自动创建默认构造方法
多构造方法
可以定义多个构造方法,在通过 new
操作符调用的时候,编译器通过构造方法的参数数量、位置和类型自动区分
public class Person {
private String name;
private Integer age;
public Person(String name) {
this.name = name;
}
public Person(Integer age) {
this.age = age;
}
public Person(String name, Integer age) {
this.name = name;
this.age = age;
}
}