介绍:
多态数组就是有一个父类数组, 数组含有不同多个父类子类对象
解析:
新建一个person类, 有名字,年龄属性, 同时有个say方法
新建一个子类, 有一个成绩的属性,并重写了say方法, 加上了成绩
新建一个子类老师, 并有工资这个属性, 一样重写了say方法加上了这个属性
要求创建一个父类数组, 并将子类放在这个数组里, 并调用每个对象的say方法
这里遍历因为persons[i]的编译类型是person但是运行类型是每个运行类型是都不一样得,所以都能找到对应的say方法输出
给以上问题升级:
给老师子类增加一个特有方法teach
给学生子类增加一个特有方法study
需要调用这两个特有方法怎么调用, 可以看到现在是调用不到的:
可以同过instanceof先判断它的类型, 在向下转型去实现调用: