2、方法传参,把一个Cat的子类传给一个Animal类型的父类,这里也是能发生向上转型的。3、方法返回,func方法的返回类型是Animal,但返回的确是一个Cat类型,这里也是发生了向上转型。
1、向下转型就是父类对象转成子类对象。我们把一个父类引用Animal类型的引用给了一个 Bird类型 的引用,这就是向下转型
1、程序在编译的时候调用的其实是父类的eat方法,但是在运行时运行的则是子类的eat方法,运行期间发生了绑定。
重写方法不能抛出新的异常或者比被重写方法声明的检查异常更广的检查异常。但是可以抛出更少,更有限或者不抛出异常。
类调用者对类的使用成本进一步降低。多态只需要知道对象具有某个方法。封装是让类的调用者不需要知道类的实现细节。