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

学Java第三十一天----------多态调用成员的特点

一、多态调用成员的特点

成员变量调用:编译看左边,运行也看左边,即获取的是父类的成员变量值

成员方法调用:编译看左边,运行看右边,即运行的是子类的成员方法

二、多态的优势

示例1:上一节的代码

示例2:append后可以有很多类型的参数

示例3:没有写泛型的数组可以add任何类型

三、多态的劣势

因为:

成员变量调用:编译看左边,运行也看左边,即获取的是父类的成员变量值

成员方法调用:编译看左边,运行看右边,即运行的是子类的成员方法

不能使用子类的特有功能,该怎么办呢???

--------->>>进行强制转换,

如何强转???

第一种:Animal  a=new Dog();

              Dog d=(Dog)a;

第二种(常用):使用instanceof关键字

例如:

强转有时会出错,原因:

              Animal  a=new Dog();

              Cat c=(Cat)a;   ----------->>>这样会出错ClassCastException,因为必须要转成Dog类型

相关文章:

  • FastAPI系列:如何响应txt和json文件
  • 回溯算法(C/C++)
  • 萌新学 Python 之模块管理
  • cursor设备ID修改器 支持0.45.x版本
  • Qt Creator + CMake 构建教程
  • 述职报告中,如何平衡展现个人贡献与团队协作的重要性?
  • Python 函数式编程-偏函数
  • uniapp 本地数据库多端适配实例(根据运行环境自动选择适配器)
  • 支持自动化数据回放
  • DeepSeek+谷云科技智能体,快速构建企业知识问答
  • 203、【数组】NLP分词实现(Python)
  • 自学Java-JavaSE基础加强(异常,泛型,集合框架)
  • 传递指针给函数的用法
  • 记录一下在k3s快速创建gitlab
  • 【江科协-STM32】5. 输出比较
  • Deepseek 开源周第一天:FlashMLA
  • 【C++】unordered系列容器的模拟实现
  • 结构型模式---外观模式
  • Vscode编辑器:解读文件结构、插件的导入导出、常用快捷键配置技巧及其常见问题的解决方案
  • 冒泡排序(Bubble Sort)详细教程:Java实现与优化
  • 夜读丨古代有没有近视眼?
  • 明星站台“胖都来”背后:百元起录视频,20万可请顶流
  • AI智能体,是不是可以慢一点? | ToB产业观察
  • 建筑瞭望|融入自然的新泳池,治愈了中央公园的历史旧伤
  • 奥迪4S店内揭车衣时遭“连环车损”,双方因赔偿分歧陷僵局
  • 马斯克的胜利?OpenAI迫于压力放弃营利性转型计划