(1)子类对象转化为父类对象(向上转型)
//Animal (父类/基类)
//Dog(子类/派生类)
Animal t = new Dog();
实例化引用对象:可调用父类的变量及方法(除了带有default 、private修饰符的 )(若是父类方法被子类重写则调用的是子类重写的方法:这就是动态绑定(多态)。
多态的三个条件:有重写,有继承,父类引用指向子类!
父类对象唯有通过强转成子类才能调用子类独有的变量及方法(向下转型)
(2)父类对象转为子类对象(向下转型)
Dog t = (Dog)new Animal(); //子类对象指向父类对象,执行错误!
所以只能通过强制类型转换
Animal t = new Dog();
Dog g = Dog(t);