public class TestCar {
public static void main(String[] args) {
Car car = new Car(40);
Bus bus = new Bus(20,10);
System.out.println("Car速度: " + car.v);
System.out.println("Bus速度: " + bus.v);
//将子类bus的引用赋给父类的对象
//此时子类中那些不是从父类继承而来的成员将不再可见
Car car1 = bus ;
System.out.println("Car1速度: " + car1.v);
//我们可以通过强制类型转换将这个父类再转换成子类类
//此时那些不见了的成员又变得可见了。
Bus bus2 = (Bus)car1;
System.out.println("Car1速度: " + bus2.p);
//由此可见,将子类引用赋给父类对象时,java虚拟主机并没有将那些非继承成员丢弃
}
}
class Car{
int v;
public Car(int v){
this.v = v;
}
}
class Bus extends Car{
int p;
public Bus(int v , int p){
super(v);
this.p = p;
}
}