class person{
}
class student extends person{
}
看到这个关系student继承person,person p1=new student(); 父类的引用指向子类的对象实例的时候就是向上转型; 这个时候p1就可以调用子类的方法或成员, 当变回来时候就是向下转型
student stu1=(student)p1; 应用场景的话学过迭代器么 ArrayList al=new ArrayList();
Iteretor iteretor=al.Iteretor(); 这个就是想上转型,al调用Iteretor方法返回一个继承Iteretor接口的子类对象
Iteretor引用指向子类对象引用, |