Java语言经常听到人说向上转型,向下转型,是什么意思,两者什么时候用的

Java语言经常听到人说向上转型,向下转型,是什么意思,两者什么时候用的

上转型不需要强转,下转需要强转,例如,class Animal, class dog extends Animal;class Cat extends Animal; dog对象转成Animal为上转,Animal转Dog是下转,dog是Animal,cat也是Animal,但是Animal不一定是Dog