- 多态的前提和体现
- 具有继承或者实现关系
- 有方法的重写
- 有父类的引用指向子类的对象
- 在多态中成员变量编译看左边,执行看左边,成员方法编译看左边,执行看右边,因为成员方法有重写,而成员变量没有
- 多态的好处:提高了程序的扩展性,体现在可以在方法中让父类做对象,来实现子类的方法,弊端:无法实现子类特有的方法,编译看左边是指看父类有没有这个方法,如果没有,则编译不通过爆红,如果有,则看子类有没有
- 多态的转型:
- 向上转型:从子到父,父类的引用指向子类的对象
- 向下转型:从父到子,父类的引用转化为子类的对象
- 举例:向上转型Animal a = new cat(); 向下转型:cat b = cat(a);
- 好处:可以解决多态无法访问子类特有的方法
- 类型转化异常问题:a= new dog(); cat c = cat(a);这时会出现classcastExcepting异常问题,因为此时a所指向的是狗,而猫和狗无关系,不满足多态,这里猫和狗都继承了 animal
标签:子类,多态,cat,编译,父类,方法 From: https://www.cnblogs.com/lyjzht/p/17014751.html