day14笔记(多态)

news/2024/12/31 1:03:30/

多态

自己写多态演示遇见两个问题

1.在类里写show方法时犹豫要不要写参数,其实不用写参数也可以获取到类的信息

    public void show(){//括号里面写参数吗System.out.println(getName()+", "+getAge());}

 2.在测试类里面写方法时,写了一个show方法带参数,其实这里应该是一个单独的方法,然后在里面调用传递参数的show方法

    public static void register(Person p){p.show();}

多态调用成员的特点

成员变量:编译看左边,运行看左边

方法区加载测试类->main方法进栈->栈里面定义变量a->new是在堆里new一个dog(因为有继承关系,所以有两块)->a.name(调用成员变量)(a是父类类型,所以优先去父类里面找,也就是编译看左边)输出(输出父类信息,也就是运行也看左边)->a.show(调用成员方法)(a是父类类型先去父类里面找,找不出报错,也就是编译看左边)(运行时,因为子类已经把父类的虚方法表里的show方法重写了,所以输出的是子类方法,也就是运行看右边)

成员方法:编译看左边,运行看右边

 多态的优势和劣势

包(文件夹)

final

常量

权限修饰符

使用规则

代码块


http://www.ppmy.cn/news/1352429.html

相关文章

[嵌入式系统-19]:RT-Thread -5- 运行时的文件系统目录结构

目录 一、常见的目录结构示例 二、bin目录 三、etc目录 四、dev目录 一、常见的目录结构示例 在 RT-Thread 操作系统中,运行时的文件系统目录结构可以由具体的文件系统类型、挂载方式和应用需求等因素决定。以下是一个常见的运行时文件系统目录结构示例&#x…

Elasticsearch:通过 ingest pipeline 对大型文档进行分块

在我之前的文章 “Elasticsearch:使用 LangChain 文档拆分器进行文档分块” 中,我详述了如何通过 LangChain 对大的文档进行分块。那个分块的动作是通过 LangChain 在 Python 中进行实现的。对于使用版权的开发者来说,我们实际上是可以通过 i…

高程 | 类与对象(c++)

文章目录 📚面向对象程序设计的基本特点🐇抽象——概括问题,抽出公共性质并加以描述。🐇封装——将抽象所得数据和行为相结合,形成一个有机的整体,形成“类”。🐇继承——在原有类特性的基础上&…

Java:继承——父子类成员、构造访问顺序超详解(代码举例详解)

目录 一、父子类成员访问顺序 1、子类中访问父类的成员变量 2、子类中访问父类的成员方法 2.1 成员方法名字不同 2.1 成员方法名字相同 3、带super、this 的执行举例 二、父子类构造访问顺序 一、父子类成员访问顺序 1、子类中访问父类的成员变量 代码示例:…

Java中的序列化是什么?如何实现对象的序列化和反序列化?请解释Serializable接口的作用是什么?请解释transient关键字的作用是什么?为什么会使用它?

Java中的序列化是指将对象转换为字节序列的过程,以便可以在网络上传输或将其保存到持久存储介质中。反序列化则是将字节序列重新转换回对象的过程。Java提供了一种称为序列化(Serialization)的机制来实现对象的序列化和反序列化。 要实现对象…

算法详解(力扣141——环形链表系列)

博主ID:代码小豪 文章目录 环形链表环形链表的性质分析快慢指针法指针的追及相遇问题 环形链表(2) 环形链表 先来看看环形链表的原题: 中间的部分叙述有点繁杂,简单来概括就是,假如有一个节点&#xff0c…

PHP+vue+mysql校园学生社团管理系统574cc

运行环境:phpstudy/wamp/xammp等 开发语言:php 后端框架:Thinkphp 前端框架:vue.js 服务器:apache 数据库:mysql 数据库工具:Navicat/phpmyadmin 前台功能: 首页:展示社团信息和活动…

如何用 ChatGPT 做项目管理?

ChatGPT 可以通过创建和维护跨团队项目协作计划,让员工更容易理解他们的角色和职责。 这个协作计划里面会包括每个团队或个人要执行的具体任务,每个任务最后期限和任何事情之 间的依赖关系。 该场景对应的关键词库:(24 个) 项目管理、项目协作计划、跨…