构造器(constructor):
1.不接受任何参数的构造器为“默认构造器”它用来创建一个默认对象。如果类中没有构造器,编译器会自动创建一个默认构造器。
2.每个类都有一个默认的构造器(为了让方法名相同而形参不同的构造器同时存在必须用到方法的重载)
3.构造器前可以加任何访问权限修饰词(public,protected,private,none)
4.一个类可以拥有多个形参不同的构造器,且这些构造器可以互相调用。
5.可以用:this(param); 在构造器中调用一个构造器
public class Car {
int number = 0;
String brand = "null";
public Car(int n){
number = n;
System.out.println("number="+number);
}
public Car(int n,String b){
this(n);
brand = b;
}
public Car(){
this(66,"BMW");
}
public void useCar(){
System.out.println("number="+number+"brand="+brand);
}
public static void main(String[] args) {
Car m = new Car();
m.useCar();
}
}
注:同一个构造器中this只能调用一个构造器;除构造器以外的任何方法都不能通过this调用构造器;使用this时必须将它放到构造器的第一行;
6.子类构造器的执行体的第一行用super来显式调用父类构造器,子类构造器调用本类构造器情况和4中相同。
public class NewCar extends Car {
NewCar(){
super(35,"Audi");
}
public static void main(String[] args) {
NewCar newCar = new NewCar();
newCar.useCar();
}
}