直接通过对象名称
父类有name, age属性。子类有age和gender属性。
间接通过成员方法
如果子类重写了父类的成员方法,多态情况下,会执行子类的方法。也就是右边new的方法,没有重写,则执行父类包含的方法,不会执行子类方法。
同样一个类型声明,具有多种多样的形态
为什么要向下转型?就可以调用子类特有的方法