2.0、Java继承与多态 - 方法重写与重载

news2024/10/7 4:24:37

2.0、Java继承与多态 - 方法重写与重载

重写(Override):方法名一样,参数列表也一样 重写也叫做覆写或者覆盖 ]

重载(Overload):方法名一样,但是参数列表不一样;

子类将父类的方法重写之后:如果创建的是子类对象,则子类对象优先使用子类重写后的方法;

重写方法时应该注意以下几点 ->

        1、方法重写后,与父类方法的 方法名 和 参数列表 都需要保持一致;重写方法时我们可以将 @Override 注解放到方法的前面,他可以自动的检测我们重写的方法是否合法;[ 当然这个如果不写这个注解,如果我们的语法正确,也是能够正常重写父类的方法的 ]

        2、子类在重写父类方法时,该方法的返回值范围,必须要小于等于父类的返回值范围;比如 -> 父类中的方法 public Object method(){} 返回值是 Object 类 ,那么 子类重写这个 method() 方法的时候他的返回值就只能是 Object 类或者 Object 的子类才可以;

        3、子类 方法的修饰权限必须要 大于等于 父类方法的修饰权限例如 :父类的方法修饰权限是 - protected 那么 子类重写该方法后 权限修饰符 只能是 protected 或者 public 而不能是 ( default ) 或者 private; 

知识扩展【修饰符权限】:public  >  protected  >  ( default )  >  private ;

注释:( default ) 不是关键字,而是指如果什么都不写,默认就是 ( default ) 权限修饰;

不过我们在大多数的情况下:重写方法之后,该方法的权限和返回值类型基本都是和父类的方法保持一致的;[ 但是也应该了解重写的正确语法 ]

那么在实际开发中,什么情况下会使用到 重写Override 呢?

下面给大家举个例子 ->

上代码理解 ->

OldPhone.java 文件如下 ->

public class OldPhone {

    public void call() {
        System.out.println("打电话");
    }

    public void send() {
        System.out.println("发短信");
    }

    public void show() {
        System.out.println("显示号码");
    }

}

NewPhone.java 文件如下所示 ->        

public class NewPhone extends OldPhone {

    public void show() {
        super.show();
        System.out.println("显示姓名");
        System.out.println("显示头像");
    }

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/412802.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue-cli 初始化工程

个人记录下vue-cli创建项目的步骤 卸载老版本的vue-cli (这不是必要的) npm uninstall vue-cli -g 如果本地使用 yarn的话,还需执行 yarn global remove vue-cli 安装全新的vue-cli npm install -g vue/cli 安装指定版本的vue-cli npm install -g vue/…

开源后台管理系统解决方案 boot-admin 简介

开源后台管理系统解决方案 boot-admin 简介介绍软件技术路线微服务架构图主要功能框图模块介绍介绍 boot-admin 是一款采用前后端分离架构模式的后台管理框架。系统提炼自实际项目,兼具RuoYi-Vue前端分离版和Ruoyi-Cloud微服务版功能与技术特点。 boot-admin 既有…

顶点程序经典案例——树木生长

返回目录 树木生长Shader一、介绍 大家好,我是阿赵。这次来做一个树木生长的Shader。 顶点程序作为整个渲染管线里面和片段程序并列的两大可控过程之一,一直存在感都比较低。我们平时制作的效果,很多都是在片段程序里面实现的计算&#xff0…

数据结构泛型

1.定义 先让我们看看官方是如何定义泛型的 是不是看起来不太容易,解释一下: 就是我们想有一种数据类型,它可以适用各种数据类型。从代码上讲就是对类型实现参数化。 2.引例 例:实现一个类,类中包含一个数组成员&…

直方图 颜色映射

文章目录hist map1. 原理2.灰度图3. 对于彩色图像4. 直方图规定化效果hist map 1. 原理 code:https://github.com/rossgoodwin/hmap 利用队列记录 hist src > tgt, src < tgt , src tgt的 索引。 然后&#xff0c;对于每个hist excess, 将其移动到 hist deficit 进行…

linux环境下,使用binlog模式恢复mysql数据(mysql数据库中的一张表误删了怎么找回?)。

linux环境下&#xff0c;使用binlog模式恢复mysql数据&#xff08;mysql数据库中的一张表误删了怎么找回&#xff1f;&#xff09;。 问题&#xff1a;linux中开启binlog模式下&#xff0c;mysql数据库中的一张表误删了怎么找回&#xff1f; 1.首先在mysql中查看是否开启binl…

气传导耳机是不是智商税?气传导耳机值得不值得入手?一文带你看懂

先说结论:并不是智商税。 目前的声音传播途径分为固体、气体和液体。而气传导耳机顾名思义&#xff0c;就是通过气体传声&#xff0c;这一点和我们日常使用的头戴式耳机、半入耳式入耳式耳机都是一样的&#xff0c;和我们日常生活中接触到最多的声音传播方式也是一样。 只不过…

动态规划概述

动态规划概述动态规划的两个要求&#xff1a; 1.最优子结构 例&#xff1a;现有一座10级台阶的楼梯&#xff0c;我们要从下往上走&#xff0c;每次只能跨一步&#xff0c;一步可以往上走1级或者2级台阶&#xff0c;请问一共有多少种解法呢&#xff1f; 台阶数12345678910走法数…

手动挡科目三道路驾驶技能考试及理论考试要点

路线每个驾校的科目三路线可能都不一样&#xff0c;但是考点基本差不多。我当时选的驾校是北京公交驾校&#xff0c;路线图如下&#xff1a;考试要点在考试大厅等待叫号&#xff0c;一般大屏都会公布xxx学员找xx号车考试&#xff0c;这边白色车是手动挡&#xff0c;灰色车是自动…

Web自动化测试-【Selenium环境部署Edge】

Selenium Web自动化测试工具 之前写过一篇关于自动化测试的博客&#xff0c;里面是有的chrome驱动&#xff0c;由于不适配缘故&#xff0c;更新以下Edge驱动。 自动化测试 Selenium环境部署 准备 Edge 浏览器准备 Edge 驱动包 a .查看自己的Edge浏览器版本&#xff08;浏览器版…

【论文解读】ConvNeXt V2: Co-designing and Scaling ConvNets with Masked Autoencoder

1. 本文贡献 提出了一个全卷积掩码的自动编码器框架和一个新的全局响应归一化&#xff08;GRN&#xff09;层 1.1 想法 本文的想法是希望能在 ConvNeXt 中使用MAE,但是MAE的设计架构是基于vision transformer的&#xff0c;与使用密集滑动窗口的标准ConvNets不兼容&#xf…

upload 通关pass16-pass20

1.pass16 白名单 二次渲染 需要先上传一个正常图片&#xff0c;然后下载下来&#xff0c;跟原图片进行比对&#xff0c;用010 16进制编辑器&#xff0c;把php代码放到没有改变的位置&#xff0c;即一样的地方 访问&#xff1a; 2.pass17 白名单 条件竞争 这题先是上传文件并…

音质蓝牙耳机哪款好用?2023公认音质好的四款蓝牙耳机推荐

现如今&#xff0c;蓝牙耳机越来越受欢迎&#xff0c;不少人在听歌、追剧、甚至是玩游戏的时候都会戴着它。最近看到很多人问&#xff0c;音质蓝牙耳机哪款好用&#xff1f;针对这个问题&#xff0c;我来给大家推荐四款公认音质好的蓝牙耳机&#xff0c;一起来看看吧。 一、南…

Nginx connect req access 模块

Nginx connect req access 模块演练 limig_conn模块&#xff1a;限制TCP连接数limit_req模块&#xff1a;限制请求频率access 模块&#xff08;allow/deny&#xff09;&#xff1a;限制ip段访问auth_request: 基于HTTP响应状态码做权限控制压测可以使用 postman的 run collect…

AndroidStudio如何进行手机应用开发?

文章目录0、引言1、AndroidStudio开发环境配置2、创建第一个手机应用0、引言 Android手机应用因其搭载于手机&#xff0c;使用便捷&#xff0c;应用被大量开发使用。笔者使用手机多年&#xff0c;用过许多手机软件&#xff0c;在使用的过程中&#xff0c;虽然手机软件能解决大部…

C++开发必知的内存问题及常用的解决方法-经典文章

1. 内存管理功能问题 由于C语言对内存有主动控制权&#xff0c;内存使用灵活和效率高&#xff0c;但代价是不小心使用就会导致以下内存错误&#xff1a; • memory overrun&#xff1a;写内存越界 • double free&#xff1a;同一块内存释放两次 • use after free&#xff1…

【数据结构】二叉树顺序结构及实现

&#x1f680;write in front&#x1f680; &#x1f4dc;所属专栏&#xff1a;初阶数据结构 &#x1f6f0;️博客主页&#xff1a;睿睿的博客主页 &#x1f6f0;️代码仓库&#xff1a;&#x1f389;VS2022_C语言仓库 &#x1f3a1;您的点赞、关注、收藏、评论&#xff0c;是对…

Surfshark下载到使用完整教程|2023最新

2023年3月16日更新 在正式介绍surfshark的教程( 教程直达学习地址: qptool.net/shark.html )之前&#xff0c;我们可以来看看最近surfshark的服务与产品退化到什么程度了。我曾经是Surshark两年的忠实用户&#xff0c;但是&#xff0c;现在&#xff0c;作为一个负责人的测评&a…

PostMan动态参数及循环调用

最近需要在测试环境批量创建es索引&#xff0c;也就是某个接口需要循环调用且参数还是变化的&#xff0c;但是我又不想写代码和脚本&#xff0c;于是研究了一下postman一些好玩的功能&#xff0c;希望能节约大家的开发时间 一.设置请求参数 1.获取创建索引的请求以及参数&…

ELK+Filebeat日志分析系统

目录 一.ELK基本介绍 1.ELK是什么&#xff1f; 2.组件简介 2.1 ELK组件介绍 2.2 ELFK组件介绍 2.3 其它组件 4.使用ELK的原因 5.完整日志系统的基本特征 二.Elasticsearch的介绍 三.Logstash的介绍 四.Kibana的介绍 五.ELK的工作原理 六.部署ELK日志分析系统 1.环…