一、多态形式
父类引用指向子类对象(两种形式)
父类名称 对象名 = new 子类名称();
接口名称 对象名 = new 实现类名称();
二、多态中访问成员变量的方式
1.直接通过对象名称访问成员变量:看等号左边是谁,优先使用谁的,没有则向上找。
2.间接通过成员方法访问成员变量:看该方法属于谁,优先使用谁的,没有则向上找。
三、多态中访问成员方法的方式
看new的是谁,就优先用谁的,没有则向上找,
总结:
成员变量:编译看左边,运行看左边
成员方法:编译看左边,运行看右边
四、使用多态的好处
//Employee为父类
Employee emp1 = new Teacher();
emp1.work();
Employee emp2 = new Assistant();
emp2.work();
无论等号右边的new换成哪个子类对象,等号左边都不用变。
五、对象的向上转型与向下转型
1.向上转型
(1)向上转型一定是安全的,从小范围转向了大范围
(2)对象一旦向上转型为父类,就无法调用子类原本的内容
2.向下转型
(1)格式:子类名称 对象名 = (子类名称)父类对象
(2)含义:将父类对象(还原)成为原来的子类对象
浙公网安备 33010602011771号