转型实质:父类的引用指向子类对象。
注:子类引用不能指向父类对象。
1.向上转型:
子类对象转换父类对象的过程,父类引用不能调用子类特有的方法,此时会丢失数据;;
2.向下转型:
父类对象转换子类对象的过程,是基于向上转型,解决丢失数据;
示例:
Father是Son的父类
①正确
Father father = new Son ---------向上转型⬆(父类引用指向子类对象)
Son son = (Son) father-------------向下转型⬇
相当于:Son son = (Son) new Son
此时是强转子类引用指向子类对象,这是对的
②错误
Father father = new Father ---------父类引用指向父类引用
Son son = (Son) father-------------向下转型⬇
相当于:Son son = (Son) new Father
此时是子类引用强转父类对象,这是不对的;