向上转型:即子类对象转换为父类对象。向下转型:即父类对象转为子类对象,这是又分为安全的向下转型和不安全的向下转型
a.eat()调用子类的eat()方法。原因:a实际指向的是Dog子类,故调用时会调用子类本身的方法。 需要注意的是向上转型时a会遗失自己特有的属性和方法,只能调用从父类中的继承的方法和属性。如本例中的run方法和age属性不再为a调用。 上面不安全的向下转型会报