多态性
多态:只通过父类就能够引用不同的子类,这就是多态,我们只有在运行的时候才会知道引用变量所指向的具体实例对象。
多态性的两种体现:
1)方法的重载
2)对象的多态性-----可以直接应用在抽象类和接口上
继承
继承:方法重写,父类的对象指向子类实例
1)、父类数据类型不能强制转换子类
2)、兄弟之间数据类型不能转换
向上转型
例子:
dog是Anima的子类
Animal a = new Animal();
Animal b = new Dog();
上面的代码:可以认为由于 Dog 继承于 Animal,所以 Dog 可以自动向上转型为 Animal,所以 b 是可以指向 Dog 实例对象的。
注:不能使用一个子类的引用去指向父类的对象。
向上转型,在运行时,会遗忘子类对象中与父类对象中不同的方法,也会覆盖与父类中相同的方法——重写