构造方法 构造函数
特点
1. 没有返回值类型
2. 方法名和类名相同
3. 创建对象的时候调用,先创建对象,后调用构造函数
4. 优先调用父类的构造函数
5. 对于同一个对象来说 只能调用一次构造函数
6. 只要不写构造函数 系统会默认提供一个不可视的无参的构造函数
7. 只要写了构造函数 系统将不再提供默认的构造函数
8. 构造函数可以重载Overlord
- 构造函数第一行默认提供一个不可视的无参super(),
- 写了super()后系统不再提供super()
- super()函数有且只能在第一行–>所以导致上述第4条
public class Person(){
public Person(){ //系统默认创建不可视无参构造函数
super(); //系统默认创建不可视无参super()
}
}
super()传参举例
public class Vehicle {
int wheels;
int weight;
public Vehicle(int wheels, int weight) {
//含参构造函数
this.wheels = wheels;
this.weight = weight;
}
}
public class Car extends Vehicle {
//传参构造函数
int loader;
public Car(int wheels, int weight, int loader) {
super(wheels, weight);
this.loader = loader;
}
}
public class Truck extends Car {
double payload;
public Truck(int wheels, int weight, int loader, double payload) {
super(wheels, weight, loader);
this.payload = payload;
}
}