来来回回囫囵好几遍终于好像有点懂了一些皮毛关于多态的意思
堕胎的必须要素:
-
继承
-
重写
-
父类引用指向子类对象
例子
Parent p = new Child();
其主要目的是为了使用父类的同时可以使用子类的重定义的方法,也仅能从子类使用重定义的的方法。
当使用多态方式调用方法时,首先检查父类中是否有该方法,如果没有,则编译错误;如果有,再去调用子类的同名方法。
多态的好处:可以使程序有良好的扩展,并可以对所有类的对象进行通用处理。
同时关于向上向下转型:
向上转型就是多态的实现。
向下转型:
Child Child = (Child) p;
需要注意的是,只能向下转型成在声明时new的子类型。
使用关键字instanceof可以返回一个boolean判断是否可以向下转型。