Java 多态 2023-07-29 20:11 由 Sean-y 发表于 #后端开发 Java 多态 1. 多态 方法或对象具有多种形态。是面向对象的三大特征之一,多态是建立在封装、继承基础之上的 2. 多态的实现: 方法的重载中,使用不同的形参调用方法体现出了多态 方法的重写中,使用父类或子类的对象调用方法体现出了多态 对象的多态: 对象的编译类型与运行类型可以不一样 编译类型与运行类型:编译类型可以看定义时 = 号左边的类型,运行类型则是= 号右边的类型。 编译类型在定义的时候就确认了不能改变,而运行类型的改变体现出了对象的多态 3. 向上转型、向下转型 向上转型: 父类的引用指向子类,此时编译类型是父类,运行类型是子类,在编译阶段只能调用编译类型的成员,如果使用了子类的成员会提示语法错误。最终运行时,先从运行类型开始找,依次向上寻找。 向下转型: 语法:子类类型 引用名 = (子类类型) 父类引用。 把编译类型的引用强制往下转型,在转型的时候需要特别注意编译类型要与原来的运行类型相一致。向下转型并不是改变了这个对象,而是更改了他的引用。 4. instanceof 运算符 语法:对象名 instanceof 对象类型 真返回 true ,假返回 false 判断其运行类型是否是此类型或者是其类型的子类 5. 动态绑定机制 调用对象的方法时候,该方法会和对象的运行类型绑定。 调用属性的时候,则没有绑定,即哪里声明哪里使用。 热门相关:洪荒二郎传 闺范 上神来了 隔壁的女人 岳母的诱惑