1.Java中的多态
Java有三大特性:封装 继承 多态
多态: 多种形态。是面向对象的三大特性之一。多态是建立在封装和继承之上
1.1方法的多态
方法的重写和重载就是方法的多态的体现形式
1.2对象的多态
1.一个对象 的编译类型和运行类型是不一样
2.编译类型是在定义对象的时候,就已经确定好的
3.运行类型是可以改变的
4.编译类型看=的左边 运行类型看 =的右边
例 :Person person = new Person();
多态: 父类引用指向子类的对象
注意事项:
多态:
1.必须有继承
2.必须有重写
3.=左边是父类引用 =右边是子类的对象
1.3多态的转型
1.3.1 多态的向上转型
本质就是:父类的引用指向子类对象
语法格式:
父类 父类引用 = new 子类();
将子类的对象赋值给了父类的引用。小范围(子类) 转为大范围(父类)自动转
父类的引用可以调用父类的所有成员方法,可以调用子类的重写父类的方法,但是不能调用子类独有的方法。
1.3.2多态的向下转型
语法格式:
父类类型 父类引用 = new 子类(); 向上转型
子类类型 子类引用 = (子类类型)父类的引用;向下转型,需要强转