17 多态

同一个方法调用 由于对象不同 可能会有不同的行为现实生活中,同一个方法 具体实现完全不同 方便写代码 省下时间
多态3个必要条件 继承、方法重写、父类引用子类对象、
17 多态
用父类引用直接指向子类对象
17 多态
如果子类没有重写方法 无论实参是什么 用的都是父类的方法
如果子类重写方法 则用子类方法

对象的转型
子类自动转成父类
Animal d = new Dog(); //自动向上转型
不能调用子类方法 和 变量 因为编译器不认识

Dog d2 = (Dog) d;//强制向下转型

相同父类 可以通过变成父类 再变成 另个一类 但一运行就会报错