向上造型的理解
1.概念理解
向上造型—> 拿一个子类的对象,当作父类的对象来使用。向上造型是默认的,不需要运算符。
向上造型的练习(可以加深理解)
Person、Teacher、Student和PhStudent。Teacher 和Student都是Person的子类,
PhStudent是Student的子类。
Person p1 = new Student(); //合法,向上造型
Person p2 = new PhDStudent();//合法,向上造型
PhStudent ph1 = new Student();// 不合法,子类对象不能去管理父类
Teacher t1 = new Person();//不合法
Student s1 = new PhStudent();//合法,向上造型
s1 = p1;//不合法,p1是 形式上管理的是Person类,不能直接赋值给子类对象使用。
s1 = p2;//不合法,同上
P1 = s1;//合法,向上造型
t1 = s1;//合法
s1 = ph1; //合法
Phd1 = s1; //不合法,向下造型,把指向子类的对象的父类赋值给子类引用,需要强制转换。