内容:
1、多态概述
2、多态代码体现
3、多态调用注意事项
4、多态的好处与弊端
5、向上向下类型转换
6、综合案例
1、多态概述
面向对象三大特性:封装(安全性)、继承(拓展性)、多态(灵活性)
多态是继封装、继承之后,面向对象的第三大特性,多态是指对象的多态,一个对象的多种状态
现实事物经常会体现出多种形态,比如:
- 一只狗是狗,是动物,是生物
- 一个人是人,是动物,是生物
- 你 在学校里是学生,在家里便是儿子
2、多态代码体现
Java多态的前提:
- 必须有子父类关系(继承)
- 必须有方法的重写
多态在Java中的表现形式:
Java中多态体现在一个子类对象(实现类对象)既可以给这个子类(实现类对象)引用变量赋值,
又可以给这个子类(实现类对象)的父类(接口)变量赋值
如Student类可以为Person类的子类,那么一个Student对象既可以赋值给一个Student类型的引用,
也可以赋值给一个Person类型的引用。
具体格式如下:
- 父类类型 变量名 = new 子类类型();
- 变量名.方法名();
父类引用指向子类对象就是多态的定义格式。同一个父类的方法会被不同的子类重写为各自的具体实现。
而在调用方法时,调用的为各个子类重写后的方法,此时,虽然该变量指向的是子类对象,但表现为
一个父类的形态,可以调用一切父类的方法,子类特有的方法将不能调用
3、多态调用注意事项
4、多态的好处与弊端
5、向上向下类型转换
6、综合案例