Java构造函数是一种特殊的方法,用于创建类的对象。它有与类相同的名称,没有返回类型,可以带有任意数量的参数。当用new关键字创建对象时,会自动调用与类名相同的构造函数来初始化对象。
构造函数有两种类型:默认构造函数和有参数的构造函数。默认构造函数没有参数,它被自动提供并用于创建对象。如果你自己定义了有参数的构造函数,那么默认构造函数就不再被提供。
下面是一个例子:
public class Car {
private String make;
private String model;
//默认构造函数
public Car() {
make = "unknown";
model = "unknown";
}
//有参数的构造函数
public Car(String make, String model) {
this.make = make;
this.model = model;
}
//getter和setter方法
public String getMake() {
return make;
}
public void setMake(String make) {
this.make = make;
}
public String getModel() {
return model;
}
public void setModel(String model) {
this.model = model;
}
}
在这个例子中,我们定义了一个Car类,它有两个私有变量:make和model。我们定义了两个构造函数:一个默认构造函数和一个有参数的构造函数。我们还定义了getter和setter方法来访问和修改对象的私有变量。
使用默认构造函数创建对象的方式如下:
Car car1 = new Car(); //创建一个Car对象,make和model都是"unknown"
使用有参数的构造函数创建对象的方式如下:
Car car2 = new Car("Toyota", "Corolla"); //创建一个Car对象,make是"Toyota",model是"Corolla"
注意,当你提供了有参数的构造函数时,Java就不再提供默认构造函数了。如果你需要默认构造函数,你需要显式地提供它。
public class Car {
private String make;
private String model;
//默认构造函数
public Car() {
make = "unknown";
model = "unknown";
}
//有参数的构造函数
public Car(String make, String model) {
this.make = make;
this.model = model;
}
//getter和setter方法
public String getMake() {
return make;
}
public void setMake(String make) {
this.make = make;
}
public String getModel() {
return model;
}
public void setModel(String model) {
this.model = model;
}
}
Car car1 = new Car(); //创建一个Car对象,make和model都是"unknown"
Car car2 = new Car("Toyota", "Corolla"); //创建一个Car对象,make是"Toyota",model是"Corolla"
Car car1 = new Car(); //创建一个Car对象,make和model都是"unknown"
Car car2 = new Car("Toyota", "Corolla"); //创建一个Car对象,make是"Toyota",model是"Corolla"