一个事物需要不同的状态就可以用多态,譬如建立一个动物类,我有时候需要它是猫,有时候需要是狗。多态的三个特征就是(1)要有继承关系(2)子类重写了父类的方法,静态方法不算(3)父类的引用指向子类的对象
这样建立多态以后,父类可以使用自己的变量以及子类重写了的方法,但是不能使用子类自己的成员变量和方法,如果需要使用得强行转换为子类对象再使用,这样的好处是把子类对象给了子类的引用,避免创建新的子类对象
Animal animal = new Cat();这个属性向上转型
Cat cat = (Cat)animal;这个是向下转型
原文:https://www.cnblogs.com/yyj0702/p/14693397.html