多态

基本概念

同一个实体,同时具有多种形式

public class GameCore{
    public void moveRole(Hero hero){
        hero.move();
    }
    public static void main(String[] args){
        GameCore gameCore = new GameCore();
        Hero hero1 = new Worrior();//战士是一种英雄,对象的向上类型转换
        gameCore.moveRole(hero1);
        gameCore.moveRole(new Archmage());//动态绑定
    }
}

向上类型转换

实际开发中,向上类型转换是常用的,向上转型后,所有的方法以父类的方法为主;子类操作过程,尽量向父类靠拢·

Hero hero = new Worrior();

向下类型转换

实际开发中,比较少用,因为向下转型前,一定要先向上转型,建立两个对象之间的联系

Hero hero = new Archmage("貂蝉");//向上转型
Archmage dc = (Archmage)hero;//向下转型

instanceof 关键字

语法:
对象 instanceof 类

instanceof返回是一个boolean值,用以判断某一个对象是否是某一个类的实例

Original: https://www.cnblogs.com/Zhouge6/p/12242268.html
Author: 笔架山Code
Title: 多态

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/573662/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 报错One record is expected, but the query result is multiple records

    总结:出现这种情况,显而易见,就是查询的数据在数据库中不止一条,而我调用的selectOne方法,返回值是一个User对象,导致报错 点击查看错误代码 LambdaQueryWra…

    Java 2023年6月15日
    070
  • 导入导出笔记-二探EasyExcel(多sheet导出)

    前言 多sheet导出也是我们日常工作经常会碰到的一个需求场景,它既可以是复杂内容的sheet排列展示,也可以是几个小部分的内容并列展示。细心的朋友似乎已经通过上一篇博文发现了Ea…

    Java 2023年6月5日
    074
  • nanopi-r2s Armbian 22.05.3 Bullseye 安装Java JDK 11

    安装命令: sudo apt-get install default-jre sudo apt-get install default-jdk 检查: java –version…

    Java 2023年5月29日
    059
  • 机械师实时调度示例(I)-实时规划

    OptaPlanner创办人Geoffrey De Smet及其团队,在Red Hat 技术峰会上主题会场上,演示了一个通过OptaPlanner实现实时规划与调度的示例。Geof…

    Java 2023年6月16日
    082
  • 分布式锁

    分布式锁 本文整理自黑马程序员相关资料 问题的引入 在平时单服务的情况下,我们使用互斥锁可以保证同一时刻只有一个线程执行自己的业务。原理是,在JVM内部维护了一个锁监视器,锁监视器…

    Java 2023年6月8日
    071
  • 临时抱佛脚

    临时抱佛jio 需要打的板子 高斯消元 FFT/NTT 拉格朗日插值 LCT splay K-D Tree 二分图/最大流/费用流 后缀数组后缀自动机 可能还需要重新学一下的东西 …

    Java 2023年5月30日
    068
  • [转]Spring Security打造一个简单Login登录页面,实现登录+跳转+注销+角色权限功能,核心代码不到100行!

    原文链接:Spring Security打造一个简单Login登录页面,实现登录+跳转+注销+角色权限功能,核心代码不到100行! posted @2022-07-08 18:31…

    Java 2023年5月29日
    095
  • Android学习笔记——四大组件

    Activity IBindle 是一个简单的数据携带包,用于实现 Activity 之间的数据交换。Intent 提供了 putExtras() 和 getExtras() 方法…

    Java 2023年6月8日
    078
  • 1.3w字,一文详解死锁!

    死锁(Dead Lock)指的是两个或两个以上的运算单元(进程、线程或协程),都在等待对方停止执行,以取得系统资源,但是没有一方提前退出,就称为死锁。 1.死锁演示 死锁的形成分为…

    Java 2023年6月5日
    094
  • Spring Boot常见配置及错误

    一、SpringBoot常见配置 (1)SpingBoot与MyBatis集成时跟踪SQL语句 (2)日志跟踪 (3)MyBatis集成: Mapper所在路径不需要配置,系统会自…

    Java 2023年5月30日
    057
  • Spring Boot 整合Hibernate Validator

    Spring Boot 整合Hibernate Validator 代码仓库: https://github.com/Rain-with-me/JavaStudyCode/tree…

    Java 2023年6月16日
    062
  • 设计模式 08 代理模式

    代理模式(Proxy Pattern)属于 结构型模式 代理模式就是一个代理对象来间接访问对象,常用于无法直接访问某个对象或访问某个对象不方便的情况。 实际上代理在生活中处处都存在…

    Java 2023年6月6日
    074
  • EMQ云端与局域网实现桥接功能

    云端部署Emqx。局域网部署NanoMQ。相关配置即可实现桥接功能; 建议采用docker部署。 sudo docker run -itd -v /home/nvidia/nano…

    Java 2023年5月29日
    065
  • Java注解–一张图一案例掌握自定义注解

    1.概述 是什么:是对方法、类、参数、包、域以及变量等进行代码功能的增强或者修改程序的行为等操作。 应用 跟踪代码依赖性,实现替代配置文件功能 在反射中使用Annotation,字…

    Java 2023年6月5日
    068
  • Maven + SSM环境搭建

    Maven + SSM 之前Maven+SSM都是照着搭建的,自己想写点什么的时候发现搭建的过程不清楚。 于是花了时间边整理思路边搭建,并把搭建过程记录下来。 视频看来终觉浅,还是…

    Java 2023年6月8日
    062
  • 前端(jQuery) 5

    一、初识jQuery jQuery 是一个 JavaScript 库。 jQuery 极大地简化了 JavaScript 编程。 jQuery 很容易学习。 二、jQuery 的功…

    Java 2023年6月5日
    078
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球