java 多态
2022/9/13 14:16:45
本文主要是介绍java 多态,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
语法:赋值语句为子类对象赋值给父类数据类型
多态:new 子类对象 赋值给到 父类的数据类型中
重点:虚拟方法调用,当子类的方法发生覆盖时,多态的调用是调用的实体的方法
编译是检查父类的方法名称,不检查子类
多态由于子类的不同因此存在不确定性
多态中父类变量引用的地址和子类相同
多态中成员方法会覆盖但是成员变量不会覆盖
多态不会调用子类特有的方法和变量为多态
多态的意义:一个父类的数组可以存放多个子类元数
多态数组:定义一个数组,数组的内容将不同的子类对象都汇总到同一个集合
多态数组-对象类型转换:
代码: chinese ch = (chinese) p
基础数据类型数据转换是改变的底层的二进制代码
引用数据类型的数据转换没有改变数据本身(存储)
语法: 优先级 . 的优先级要高于() (类型)对象实体.方法() -- 此时方法只能调用对象实体的方法不能调用类型转换的方法-- 正确调用 ((类型)对象实体).方法()
关键字:instanceof 用于判断对象和类的关系 "String" instanceof String -- 返回True
Chinese ch = (Chinese)p; // 造型存在报错的风险 因为对象p可能不能转为想要的类型
多态参数调用不同子类的不同方法,通过if 条件语句判断 出子类类型,进而调用不同的子类方法
数据类型转换:
1.基础数据 1.1小的数据类型可以自动的转为大的数据类型 1.2 大的数据类型需要强制转为小的数据类型
2.对象的数据类型转化(造形):
1.1子类可以不需要强转为父类 (子类的属性包含父类)
1.2父类 需要强转为子类
1.3无继承关系的造形是不合规范的
基础数据类型的转换成为强制转换
引用类型的转化成为造形
多态是高级编程的标志
这篇关于java 多态的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23JAVA语音识别项目入门教程
- 2024-11-23Java云原生学习:从入门到实践
- 2024-11-22Java创业学习:初学者的全面指南
- 2024-11-22JAVA创业学习:零基础入门到实战应用教程
- 2024-11-22Java创业学习:从零开始的Java编程入门教程
- 2024-11-22Java对接阿里云智能语音服务学习教程
- 2024-11-22JAVA对接阿里云智能语音服务学习教程
- 2024-11-22Java对接阿里云智能语音服务学习教程
- 2024-11-22Java副业学习:零基础入门到实战项目
- 2024-11-22Java副业学习:零基础入门指南