创建子类对象时初始化顺序
父类对象->父类属性->父类的构造方法->子类对象->子类的属性->子类的构造方法
package jicheng;
public class Transport {
protected String name;//交通工具名称
protected int count;//几个座位
protected int age=10;//属性中赋值
public void useWhat(){
System.out.println("交通工具会使用能源");
}
public Transport() {
// TODO Auto-generated constructor stub
System.out.println("父类执行了");
age=20;//构造方法中赋值
}
}
我们在测试类中这样写
package jicheng;
public class InitialTransport {
public static void main(String[] args) {
// TODO Auto-generated method stub
Transport t=new Transport();//创建父类对象
System.out.println("age="+t.age);//调用age
Bus bus=new Bus();
bus.age=6;
bus.count=8;
bus.name="bus";
bus.eat();
}
}
结果为:
父类执行了
a=20
父类执行了
子类执行了
公交车可以用电或者汽油
所以方法中的值将属性中的值覆盖了