多态:就是说一个父类有多个子类,子类是各有不同的.
就上图而言,Animal父类有一个run方法,Dog子类也有一个run方法,Tiger子类也有一个run方法,在测试类中通过一个测试函数,传递animal类型的参数,调用run方法,就会有不同的结果.
向上转型:
在图中,通过new方法出来的本是一个Dog类或者Tiger类,但是可以在接收的时候直接转成Animal类.
向下转型:
在图中f1方法,传递进来一个Animal类型的参数,我们可以通过向下转型或者说强制转换,把animal转成我们需要类型的参数,从而达到我们想要的目的.