发生多态的条件 1.继承 2.父类引用指向子类对象 3.子类重写父类方法 总结:多态中使用的成员(方法、变量),除了重写的方法外,其他的都是使用的父类的成员。 多态的好处和弊端 1.提高代码扩展性 2.提高代码的复用性 弊端:不能使用子类特有的成员 向上转型和向下转型 Animal a = new Dog(); //自动向上转 Dog d = (Dog)a; //强制向下转 //Cat c = (Dog)a; //编译错误 经过向下转型之后,就可以使用子类特有的成员。 类在实现接口的时候,实现了方法的重写,如果后续发生了接口引用指向了父类对象,那么也是多态的发生。