Java 多态

Java 多态

1. 多态

方法或对象具有多种形态。是面向对象的三大特征之一,多态是建立在封装、继承基础之上的

2. 多态的实现:

方法的重载中,使用不同的形参调用方法体现出了多态

方法的重写中,使用父类或子类的对象调用方法体现出了多态

对象的多态:

对象的编译类型与运行类型可以不一样

编译类型与运行类型:编译类型可以看定义时 = 号左边的类型,运行类型则是= 号右边的类型。

编译类型在定义的时候就确认了不能改变,而运行类型的改变体现出了对象的多态

3. 向上转型、向下转型

向上转型: 父类的引用指向子类,此时编译类型是父类,运行类型是子类,在编译阶段只能调用编译类型的成员,如果使用了子类的成员会提示语法错误。最终运行时,先从运行类型开始找,依次向上寻找。

向下转型:

语法:子类类型 引用名 = (子类类型) 父类引用。

把编译类型的引用强制往下转型,在转型的时候需要特别注意编译类型要与原来的运行类型相一致。向下转型并不是改变了这个对象,而是更改了他的引用。

4. instanceof 运算符

语法:对象名 instanceof 对象类型 真返回 true ,假返回 false

判断其运行类型是否是此类型或者是其类型的子类

5. 动态绑定机制

调用对象的方法时候,该方法会和对象的运行类型绑定。

调用属性的时候,则没有绑定,即哪里声明哪里使用。

热门相关:洪荒二郎传   闺范   上神来了   隔壁的女人   岳母的诱惑