当前位置: 首页 > news >正文

java复习-多态性

多态性

在Java中对于多态性由两种实现的模式:

方法的多态性

方法的重载:同一个方法名称可以根据传入的参数类型和个数的不同,进行不同的处理。
方法的覆写:同一个方法可能根据使用子类的不同,由不同的实现。

对象的多态性

父子实例之间的转换处理,有两种模式:

  1. 对象向上转型
    定义:父类 父类实例 = 子类实例、自动完成转换; 即子类只有一个父类,无歧义,直接转。
    编译看左边,运行看右边
    编译的时候,以左边父类中的定义为主,父类中有哪些方法和属性,才能使用哪些方法和属性,不能有子类中新增的方法。
    运行的时候,以右边子类的对父类方法的实际覆写内容为主,子类覆写了父类的方法,在执行时,是执行的子类中覆写的新内容。
    功能(使用场景):可以对参数进行统一的设计,如下
public class JavaDemo {public static void main(string args[]) {fun(new DataBaseMessage ()) ; //DataBaseMessage 是 Mesrage的一个子类MessaMessafun(new WebServerMessage ()) ; // WebServerMessage 也是 Mesrage的一个子类
public static void fun(Mesrage msg){ // 不管传递的是哪个类型的子类都能实现接收,且覆写的方法依旧有用msg.print()
}
  1. 对象向下转型
    定义:子类 子类实例 = (子类) 父类实例、强制完成转换; 即父类向下走的时候,可能有很多子类,使用要在前面有指定是哪个子类。
    功能:为了使用子类的特殊定义,即子类实例化对象在一般情况下是父类类型,但需要时可以转化为子类类型来使用。
    注意:在使用向下转型前,一定要首先发生向上转型。因为如果直接用一个父类实例化的对象,其并不清楚向下的子类的存在。

instanceof 关键字

为了保证向下转型的正确性,故需要在转型之前判断某个实例是否是某个类的对象,此时就需要通过 instanceof 关键字来进行判断。
语法: 对象 instanceof 类

http://www.lryc.cn/news/182461.html

相关文章:

  • 美团外卖优惠券小程序 美团优惠券微信小程序 自带流量主模式 带教程
  • 编写IDEA插件,实现根据现有代码生成流程图
  • 王杰国庆作业day6
  • 【C语言】循环结构程序设计 (详细讲解)
  • Spring的注解开发-注解原理解析-xml方式/注解方式组件扫描
  • 导出视频里的字幕
  • 【KingbaseES】银河麒麟V10 ARM64架构_安装人大金仓数据库KingbaseES_V8R6(CentOS8)
  • 【Vue】Vuex详解,一文读懂并使用Vuex
  • 第三章 C程序设计
  • QB/T 2703-2020 汽车装饰用皮革检测
  • 使用正则表达式批量修改函数
  • 【网络协议】UDP
  • 雷达编程实战之提高探测速度
  • pyspark常用功能记录
  • Spring面试题学习: 单例Bean是单例模式吗?
  • EM@常用三角函数图象性质(中学部分)
  • 一文拿捏Spring事务之、ACID、隔离级别、失效场景
  • input输入表头保存excel文件
  • DataBinding双向绑定简介
  • Is This The Intelligent Model(这是智能模型吗)
  • MySQL事务:特性、使用、并发事务问题和隔离级别
  • FFmpeg日志系统、文件与目录、操作目录
  • 好奇喵 | Surface Web ---> Deep Web ---> Dark Web
  • 三、thymeleaf基本语法
  • 创建一个新的IDEA插件项目
  • Doris数据库BE——冷热数据方案
  • Python无废话-办公自动化Excel格式美化
  • 竞赛 机器视觉的试卷批改系统 - opencv python 视觉识别
  • Django 数据库迁移(Django-04)
  • Redis相关概念