目录
父类static{ }-->子类static{ }-->父类代码块{}-->子类代码块{}-->父类无参构造方法-->子类无参构造方法
1.初始化顺序
父类static{ }-->子类static{ }-->父类代码块{}-->子类代码块{}-->父类无参构造方法-->子类无参构造方法
注意:
执行时子类通过super();-->来访问父类的无参构造方法;若父类中没有无参构造方法,子类会报错或通过super(参数);进行访问--[不常使用]
2.实例
public class Car{
private double price;
private String brand;
static {
System.out.println("父类static代码块..");
}
{
System.out.println("父类代码块..");
}
//有参构造方法
// public Car(double price, String brand) {
// super();
// this.price = price;
// this.brand = brand;
// }
//无参构造方法
public Car() {
//super();
System.out.println("父类无参构造方法");
}
}
public class motorcycle extends Car{
//摩托车
static {
System.out.println("子类static代码块...");
}
{
System.out.println("子类代码块...");
}
public motorcycle() {
super();
//super(190000,"吉利");
System.out.println("子类无参构造方法");
}
}
public class CarTest {
@Test
public void test() {
Car mo = new motorcycle();
System.out.println(mo);
}
}
运行结果如下: