黑马程序员—5—Java基础:多态学习笔记和学习心得体会

2023-05-16

  ------- <ahref="http://www.itheima.com" target="blank">android培训</a><ahref="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------


1.      多态:可以理解为事物存在的多种体现形态;

2.      多态的基本体现

父类的引用指向了自己的子类对象。父类的引用也可以接收自己的子类对象。

3.      多态的好处:

多态的出现大大提高程序的扩展性

4.      多态的前提

必须是类与类之间有关系,要么继承,要么实现。

通常还有一个前提:存在覆盖。

5.      多态弊端:

提高扩展性,但是只能使用父类的引用访问父类中的成员。

例子:

abstract class Animal

{

     Publicabstract void eat();

}

class Cat extends Animal

{

     Publicvoid eat()

    {

          System.out.println(“吃鱼”);

}

Public void catchMouse()

{

      System.out.println(“抓老鼠”);

}

}

class Dog extends Animal

{

     Publicvoid eat()

    {

          System.out.println(“吃骨头”);

}

Public void kanJia()

{

      System.out.println(“看家”);

}

 

}

class Pig extends Animal

{

     Publicvoid eat()

    {

          System.out.println(“食料”);

}

Public void gongDi()

{

      System.out.println(“拱地”);

}

 

}

 

 

class DuoTaiDemo

{

Public staticvoid main (String []  args)

{

    Animal a = new Cat();//l类型提升,向上转型

    a.eat();

    Cat c = (Cat)a;//强制将父类的引用,转成子类类型,向下转型。

    c.catchMouse();

  

    /*

     千万不要出现这样的操作,就是将父类对象转成子类类型。

     我们能转换的是父类应用指向了自己的子类对象时,该应用可以被提升,也可以被强制转化

      Animal a= new Animal();

      Cat c =(Cat)a;//这是错的,不能将父类转成子类类型

*/

   

    //System.out.println();

    function (new Cat());

    funntion (new Dog());

funntion (new Pig());

}

Public staticvoid function(Animal a)

{

a.eat();

if(ainstanceof Cat)//instancef 是判断某一类型是否符合某一类型,即Animal 符合//Cat

{

Cat c = (Cat)a;

c.catchMouse();

}

Else if (ainstanceof  Dog)

{

Dog c = (Dog)a;

c.kanJia();

}

}

}

6.      多态自始至终都是子类对象在做变化。

7.  if(a  instanceof Cat)//instancef 是判断某一类型引用是否符合某一类型,即Animal 符合//Cat

8.在多态中成员函数的特点:(非静态

  在编译时期:参阅引用型变量所属的类中是否有调用的方法,如果有,编译通过,如果

有编译失败。

在运行时期:参阅对象所属的类中是否有调用的方法。

简单总结:成员函数在多态调用时,编译看左边,运行看右边。

9.在多态中,成员变量的特点:

  无论编译和运行,都参考左边(引用型变量所属的类)。

10.在多态中:静态成员函数的特点:

  无论编译和运行,都参考左边。

11 学习心得和体会:

    千万不要出现这样的操作,就是将父类对象转成子类类型。

     我们能转换的是父类应用指向了自己的子类对象时,该应用可以被提升,也可以被强制转化


 

  ------- <ahref="http://www.itheima.com" target="blank">android培训</a><ahref="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

黑马程序员—5—Java基础:多态学习笔记和学习心得体会 的相关文章

  • 四旋翼飞行器——飞行原理

    1 机械结构 旋翼对称分布在机体的前后 左右四个方向 xff0c 四个旋翼处于同一高度平面 xff0c 且四个旋翼的结构和半径都相同 xff0c 四个电机对称的安装在飞行器的支架端 xff0c 支架中间空间安放飞控板 结构形式如图 1 1所
  • 四旋翼飞行器——非线性化模型

    一 建模思路 该模型目标控制量是机体相对于地面坐标系的线速度的三个分量Vx xff0c Vy xff0c Vz xff0c 而我们能控的实质上只有四个电机的转速W1 xff0c W2 xff0c W3 xff0c W4 怎样由输入一步步推导
  • 故障诊断4—龙伯格状态观测器设计

    1 龙伯格状态观测器概念 已经线性系统模型如下 xff1a 当系统状态量难以获取 xff0c 但实际控制中又需要利用系统状态量时 xff0c 如何通过输入量和输出量重构系统状态量 xff1f 这便是龙伯格状态观测器设计初衷 xff0c 将实
  • 故障诊断5——状态观测器和输出观测器

    1 状态观测器分类 在现代控制理论中 xff0c 控制系统的基本结构和经典控制理论一样 xff0c 仍然是由受控对象和反馈控制器两部分构成的闭环系统 不过在经典理论中习惯于采用输出反馈 xff0c 而在现代控制理论中则更多地采用状态反馈 由
  • GPS漂移和定位不准确的解决办法

    解决GPS漂移主要从两方面入手 xff1a 一 主系统的设计主要减少在近距离内对GPS信号的干扰 二 软件处理 软件处理主要集中在导航软件处完成 xff0c 导航软件会将坐标定位在道路之内 xff0c 如果GPS接收到的信号超出道路的半径范
  • AI---是什么?可以做什么?

    1 AI的项目简单介绍 图像识别 描述 xff1a 给定图片 xff0c 识别图片中有什么 xff1f 算法 xff1a KNN CNN 情感分析 描述 xff1a 判断文本包含的情感是正面 负面还是中性 关键 xff1a 文本如何表示成向
  • realsense的安装问题

    realsense的安装问题 0 旁白1 SDK的安装2 python开发包的安装3 nodejs开发包的安装方法1 xff1a 方法2 xff1a 接手一位同事的realsense相关项目 xff0c 先配置一个环境 xff0c 出现不少
  • 二叉排序树的删除

    xff08 网上讲二叉排序树删除的资料很少 xff0c 这篇很不错 xff01 转自 xff1a http bbs csdn net topics 110010437 xff09 二叉排序树的删除 xff1a 对于一般的二叉树来说 xff0
  • 分布式锁学习

    概述 分布式锁是控制分布式系统之间同步访问共享资源的一种方式 在分布式系统中 xff0c 常常需要协调他们的动作 如果不同的系统或是同一个系统的不同主机之间共享了一个或一组资源 xff0c 那么访问这些资源的时候 xff0c 往往需要互斥来
  • 无人机飞行控制

    intro 这篇笔记记录了无人机飞控算法和px4相关 control algorithm adrc 周立功讲adrc 参数整定 xff1a Scaling and Bandwidth Parameterization
  • 168-HITL-dev-manual

    HITL todo 使用mavlink收ref和imu 可以选择发出pwm和torque 发出torque的话 xff0c 没有考虑pwm的饱和 发出pwm的话 xff0c 电机的参数也不准 参考GAAS FC 写收的imu gps xff
  • 图优化理论(1)

    简介 图优化本质上是一个优化问题 xff0c 所以我们先来看优化问题是什么 优化问题有三个最重要的因素 xff1a 目标函数 优化变量 优化约束 一个简单的优化问题可以描述如下 其中x为优化变量 xff0c 而F x 为优化函数 此问题称为
  • (动态添加select后不显示?)layui动态添加select后重新渲染

    一 问题 xff1a 利用jQuery动态添加的代码中包含select xff0c 运行后不显示 1 显示的状态 2 后台的代码 正常情况下应该像队长班级一样显示 xff0c 但是却惊奇的发现 xff0c 事与愿违 二 原因 Layui会对
  • ARM处理器的快速上下文切换技术

    5 3 1 FCSE 概述 FCSE xff08 Fast Context Switch Extension xff0c 快速上下文切换 xff09 位于 CPU 和 MMU 之间 xff0c 如果两个进程使用了同样的虚拟地址空间 xff0
  • Promise 控制并发请求数量

    Promise 控制并发请求数量 前言 xff1a 浏览器对对同一个服务器的并发数是有限制的 xff0c 参考如下表格 xff08 表格来源于网络 xff0c 未进过严谨测试 xff09 xff1a 浏览器HTTP 1 1HTTP 1 0I
  • 树莓派自动连接WiFi

    将USB无线网卡插入树莓派任一USB接口 xff0c 插上网线 xff0c 接通电源 xff1b 在个人电脑上通过ssh连接树莓派 xff0c 默认帐号是pi xff0c 默认密码是raspberry xff08 如何通过ssh连接树莓派
  • 【DragonBoard 410c】悲催的开箱体验

    这里非常感谢辉哥提供的龙板 这块板子是实验室的学长从高通公司争取过来赠送给我们实验室的 xff0c 从美国寄过来的 xff0c 遗憾的是 xff01 里面没有Android系统 xff01 xff01 以至于我开机折腾了许久 首先 xff0
  • 2017CVTE嵌入式研发岗实习生面经

    本人普通高校大三学生 xff0c 准备在暑假找一份嵌入式实习工作 xff0c 因为实验室一学长去年通过实习生通道成功拿到正式岗offer 而且CVTE在嵌入式这一行的工资福利等都是相当诱人 xff0c 所以我的目标就是首先要拿到cvte的实
  • 安装Ubuntu过程及遇到的问题

    需要的装备 xff1a 1 不小于4G的U盘或者内存卡 43 读卡器也可以 2 UltraISO xff08 使用方法http jingyan baidu com article d169e186800f02436711d87b html
  • 北邮某牛人找工作切身感受

    转自北邮人论坛 by xiaoxuanzi xff08 值得全部看完 xff09 找工作历程基本上要截止了 Offer再多也只能去一个 xff0c 也省了纠结 xff0c 顺便帮等攒人品 Offer搞定能一起happy xff0c 寝室MM

随机推荐

  • DNW下载文件时出现can not open /dev/secbulk0

    在学习过程中碰到了如上的问题 xff0c 在参考了不少博客之后解决了这个问题 首先到这里下载DNW安装包 xff1a http download csdn net detail david xtd 7401761 这里面有两个文件夹dnw和
  • VMware非正常关闭导致打开虚拟机时提示:未找到.vmx文件

    上次手残将VMware直接关闭 xff0c 导致第二次打开虚拟机时提示 vmx文件未找到 根据这个原理 xff0c 可能其他后缀的文件丢失也可以利用相同的原理 xff0c 就是重新建一个虚拟机 xff0c 然后就能得到相同的文件 xff0c
  • 图片合集

    HDMI接口物理地址理解
  • 操作系统--freeRTOS 双向链表解读(list)

    1 简介 本文依据的freeRTOS版本是V9 0 0版本 xff0c 本文将分析链表文件的结构体 xff0c 主要根据其list c和list h文件 2 list h文件解析 span class token comment FreeR
  • socket通信(自己的程序)

    socket相关知识 xff1a socket相关基础知识 xff1a http www cnblogs com skynet archive 2010 12 12 1903949 html 非阻塞socket xff1a http blo
  • NVIDIA Jetson TX2重装系统

    博主所用的Jetson TX2初始环境及相关方面的介绍见前两篇博客 NVIDIA Jetson TX2简介 竹叶青lvye的博客 CSDN博客 nvidiatx2 NVIDIA Jetson官网资料整理 竹叶青lvye的博客 CSDN博客
  • Jetson TX2配置Tensorflow、Pytorch等常用库

    之前在PC Ubuntu或者树莓派上都配置过 方法不变 所以此篇博客会简单记录 下过程 详细的一些方法思路可以去参考博主之前的系列博客 虽然硬件平台不一样 但方法大体一致的 硬件平台主流的有树莓派 NVIDIA Jetson Google的
  • Macbook pro外接显卡实现深度学习

    耗时一整天加一晚上终于成功了安装配置外接GPU并运行深度学习案列 故事的缘由 2017年底鬼使神差的买了个macbook xff0c 放在家里吃了一年灰 xff0c 心想还是要用起来啊 目前主要从事数据挖掘机器学习的工作 xff0c 需要搞
  • Gradle技术之一 Groovy语法精讲

    Gradle技术之一 Groovy语法精讲 gradle脚本是基于groovy语言开发的 xff0c 想要学好gradle必须先要对groovy有一个基本的认识 1 Groovy特点 groovy是一种DSL语言 xff0c 所谓的DSL语
  • 字符串子串的查找

    1 考虑用标准函数库中 strstr 函数 包含文件 xff1a string h 函数名 strstr 函数原型 xff1a extern char strstr char str1 char str2 功能 xff1a 从字符串str1
  • 大锤老湿教您如何配置TP-Link路由器组建wifi上网

    TP Link路由器设置教程 大家好 xff0c 今天由大锤老湿教大家如何设置使用最广的TP Link路由器 一般家庭都希望能上wifi 那么首先看看我们如何将新买回的或者由于故障已经恢复成重置出厂状态的路由器 xff0c 如何经过重新设置
  • 【ESP01S】使用串口调试助手,发送AT指令收回的是乱码/重复一遍AT指令发回的问题

    调试帮助 span class token punctuation span 技术交流Q xff1a span class token number 1083091092 span xff08 备注CSDN xff09 一 问题描述 在使用
  • 刷leetcode使用python还是c++?

    我身边80 的程序员朋友在刷题的时候会选择Java xff0c 很少有人用C 43 43 来刷题 这两门语言各有特点 xff1a C 43 43 xff1a 从C语言发展过来的一门语言 xff0c 继承了灵活 xff08 可以潜入任何现代的
  • VINS-Mono代码精简版代码详解-后端非线性优化(三)

    非线性优化部分代码解析 之前已经对VINS Mono的初始化部分进行了介绍 xff0c 下面结合代码和公式介绍其非线性优化部分 本文部分参考 https blog csdn net u012871872 article details 78
  • Ubuntu IO占用过多导致文件读取变慢的原因查找方法

    问题描述 xff1a 多用户服务器 xff0c ubuntu系统 xff0c 突然点开文件夹 xff0c 发现变慢 查看方法 xff1a step1 xff1a 进入管理员用户 step2 xff1a 运行iostat x 1 在显示的结果
  • ROS Docker

    Docker 常用指令 docker pull osrf ros galactic desktop 从网络上下载镜像 docker images 查看已加载镜像列表 window docker界面 xff1a 命令行结果 xff1a doc
  • Win10C盘文件夹内容详解(持续更新,欢迎留言)

    本文参考以下博客 Roaming和Local的区别 C Users 用户名 AppData 1 Local和Roaming之间的区别 xff1a Local 比较大 xff0c 非漫游应用数据 Roaming 一般是漫游应用数据 2 Roa
  • STM32运行FreeRTOS

    使用ARM Keil 的 Keil uVision IDE xff0c 在 STM32上运行 FreeRTOS 内核 物料清单 软件 在创建新项目之前 xff0c 我们必须安装软件包 下面是打印屏幕 xff0c 其中包含如何执行此操作的步骤
  • ESP32实践FreeRTOS

    将部分代码作为应用程序中的任务独立执行可以简化大型复杂问题的设计 当有多个 CPU 时 xff0c 任务支持还允许选定的功能并行运行 本文将调查 Arduino 框架对 ESP32 系列设备的 FreeRTOS 任务支持 除了少数例外 xf
  • 黑马程序员—5—Java基础:多态学习笔记和学习心得体会

    lt ahref 61 34 http www itheima com 34 target 61 34 blank 34 gt android 培训 lt a gt lt ahref 61 34 http www itheima com 3