【Java 方法重写】@Override 注解,一般用法,重写的具体要求

news2024/11/24 20:48:40

在这里插入图片描述

🍀 博主:_LJaXi Or 東方幻想郷
🌸 专栏: Java | 从入门到入坟

从前有一只小鸟,它的父母都是优秀的飞行员,它也很想成为一名出色的飞行员。于是,它开始学习飞行技巧,不断练习,最终成为了一名出色的飞行员。

但是,有一天,它发现自己的飞行技巧已经达到了瓶颈,无法再进一步提升。于是,它开始思考如何突破这个瓶颈,最终想到了一个办法:重新学习飞行技巧。
它开始重新学习飞行技巧,不断地试错、调整,最终成功地学会了新的飞行技巧,成为了一名更加出色的飞行员。

这个小故事告诉我们,有时候我们需要不断地学习、尝试、调整,才能突破自己的瓶颈,成为更加出色的人。而在Java中,重写就是一种突破瓶颈的方式,通过重写父类的方法,我们可以实现更加灵活、高效的代码。


关于 Java 重写

  • 何が Java の 重写?🥒
  • @Override 注解の作用 🍊
  • 方法重写的规则 🍋
  • 什么情况下会进行方法重写?🍓
  • Java 重写的小案例 🍄

何が Java の 重写?🥒

  1. Java中的方法重写(Method Overriding)是指在子类中定义一个与父类中同名、同参数列表、同返回值类型的方法,从而覆盖父类中的方法实现。当子类对象调用该方法时,会优先调用子类中的方法实现,而不是父类中的方法实现。
  2. 需要注意的是,方法重写只能在继承关系中发生,即子类重写父类的方法。如果两个类之间没有继承关系,就不能进行方法重写
  3. 方法重写的目的是为了实现多态性,让不同的子类对象调用同一个方法时,可以根据实际类型来执行不同的方法实现。

@Override 注解の作用 🍊

  1. @override注解是告诉编译器,下面的方法是重写父类的方法
  2. 如果不写@override注解去直接重写方法,编译器是不会判断你是不是正确重写了父类中的方法的。
  3. 如重写方法时参数与父类不同,程序是不会提示报错的。这会留下一个潜在的bug。
  4. 当你写了@override注解时,程序会判断你是否正确的重写了父类的对应方法。
  5. 而且加上此注解后,程序会自动屏蔽父类的方法。

方法重写的规则 🍋

  1. 方法名、参数列表和返回值类型必须与父类中被重写的方法相同。
  2. 访问修饰符不能比父类中被重写的方法的访问修饰符更严格。例如,如果父类中被重写的方法是public,那么子类中重写的方法也必须是public或者protected,不能是private。
  3. 子类中重写的方法不能抛出比父类中被重写的方法更多的异常,或者抛出未在父类中声明的异常。
  4. 子类中重写的方法不能使用比父类中被重写的方法更严格的访问修饰符。例如,如果父类中被重写的方法是protected,那么子类中重写的方法不能是private。

什么情况下会进行方法重写?🍓

方法重写通常发生在继承关系中,当子类需要对父类的某个方法进行特定的实现时,就可以通过方法重写来实现。

Java 重写的小案例 🍄

public class Person {
    private String name;
    private int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public void introduce() {
        System.out.println("我叫" + name + ",今年" + age + "岁。");
    }
}

public class Student extends Person {
    private String school;

    public Student(String name, int age, String school) {
        super(name, age);
        this.school = school;
    }

    @Override
    public void introduce() {
        System.out.println("我叫" + getName() + ",今年" + getAge() + "岁,就读于" + school + "。");
    }

    public String getSchool() {
        return school;
    }

    public void setSchool(String school) {
        this.school = school;
    }
}

在这个案例中,子类Student重写了父类Person的introduce()方法,并且添加了一个新的属性school。在子类中,我们可以通过super关键字来调用父类的构造方法和方法,也可以通过this关键字来调用子类自己的属性和方法。

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

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

相关文章

微信支付, 小程序,公众号, 商户号 需要进行的配置

目录 一 微信公众号1.1 公众号基础信息配置1.2 白名单配置1.3 公众号开发人员配置1.4 域名授权配置1.5 服务器配置 二 微信小程序2.1 开发设置2.2 域名设置2.3 开发者管理2.4 版本管理 三 微信商户号3.1 支付服务3.2 授权域名3.3 配置API安全,支付证书申请3.4 设置支付信息3.5 …

CSDN上海城市开发者社区线下活动纪实

引言 5月27号中午,很高兴能和现CSDN副总裁、前微软 Azure 工程团队首席研发经理、技术畅销书《编程之美》及《构建之法》的作者邹欣邹老师,以及CSDN的 “上海城市开发者社区” 的部分成员齐聚一堂,参加CSDN上海城市开发者社区自5月初成立以来…

在windows环境下使用winsw将jar包注册为服务(实现开机自启和配置日志输出模式)

前言 Windows系统使用java -jar m命令行运行Java项目会弹出黑窗。首先容易误点导致程序关闭,其次我们希望能在Windows系统做到开机自动启动。因此对于SpringBoot程序,目前主流的方法是采用winsw,简单容易配置 1.下载winsw工具 https://git…

新手自媒体找素材必备的5个素材网站。

自媒体需要用到视频、音频、图片、字体等各类素材,对于新手朋友来说,网上搜素材怕侵权,商用素材又不知道哪里找。作为一个老手的我收藏了各类优秀的免费素材网站,下面分享几个,对你一定有帮助,记得收藏起来…

安科瑞预付费管理系统对于学生公寓的设计

安科瑞 徐浩竣 江苏安科瑞电器制造有限公司 zx acrelxhj 摘要:论文设计了适用于学生公寓的自助式预付费控电控水管理系统,采用多种智能功能,可以监测和显示漏电现象,通过短路、跳线、零线接地等方式防范和记录用户的偷电行为&a…

zookeeper机制及消息队列kafka

目录 一、zookeeper1、zookeeper简介2、zookeeper特点3、zookeeper工作模式及机制4、zookeeper应用场景及选举机制5、zookeeper集群部署 二、消息队列kafka1、为什么要有消息队列2、使用消息队列的好处3、kafka简介4、kafka特点5、kafka系统架构名词介绍6、Kafka架构及流程7、k…

Docker理论基础

初识Docker 1.什么是Docker 微服务虽然具备各种各样的优势,但服务的拆分通用给部署带来了很大的麻烦。 分布式系统中,依赖的组件非常多,不同组件之间部署时往往会产生一些冲突。 在数百上千台服务中重复部署,环境不一定一致&…

Docker容器核心技术:Linux命名空间Namespaces、控制组cgroups、联合文件系统UnionFS

1.容器的本质——进程 Docker 使用 Google 公司推出的 Go 语言 进行开发实现,基于 Linux 内核的 cgroup,namespace,以及 OverlayFS 类的 Union FS 等技术,对进程进行封装隔离,属于 操作系统层面的虚拟化技术。由于隔离…

react 接入企业微信登录组件

需求简述 把某web登录页替换成使用企业微信的扫码登录。 具体实现 自建应用:登录企微后台/应用管理,滑到最底部,创建应用并填写应用相关信息: 2. 创建成功之后,进入应用详情,配置可信域名以及授权登录&a…

k8s中iptables与ipvs详解——2023.05

文章目录 背景介绍一、Iptables模式二、IPVS模式(NAT模式)三、内部原理理解Iptablesipvs区别 补充:CoreDNS 背景介绍 从k8s的1.8版本开始,kube-proxy引入了IPVS模式,IPVS模式与iptables同样基于Netfilter,…

mysql ACID实现基本原理(面试题)

mysql ACID实现基本原理(面试题) 原子性一致性隔离性持久性 ACID,是指数据库管理系统(DBMS)在写入或更新资料的过程中,为保证事务(transaction)是正确可靠的,所必须具备的…

中介效应分析全流程汇总

一、中介效应说明 中介效应主要研究自变量对因变量影响的过程中,自变量是否通过中介变量再对因变量产生影响,那什么情况表明中介效应存在呢?如果自变量对因变量影响过程中,中介变量在模型中有着桥梁般的作用,那说明中…

Service事务优化(方法能否被事务控制?)

1.updateFile方法是否应该开启事务? 目前如果在updateFile方法上添加Transactional,当调用updateFile方法前会开启数据库事务,如果上传文件过程时间较长(例如用户在上传超大视频文件),那么数据库的食物持续…

IP-Guard客户端上插入加密盘时提示格式化,能否禁止该弹窗?

客户端上插入加密盘时提示格式化,能否禁止该弹窗? 1、当Shell Hardware Detection服务启动时,操作系统检测硬件的速度要快于客户端,而此时操作系统是不能识别加密后的移动盘的,因此认为加密盘异常,提示需要格式化,策略-客户端配置,选择禁止windows7播放功能。配置后不…

AI绘画出《三体》里的叶文杰

文 / 高扬(微信公众号:量子论) 春节的时候,我看完了《三体》第一部。现在《三体》动画片、《三体》国内版电视剧相继上线,毁誉参半。 一千个读者心里有一千个哈姆雷特,正好谷雨最近在研究MidJourney。我让她…

C++进阶 —— multimap

目录 一&#xff0c;multimap介绍 二&#xff0c;multimap使用 一&#xff0c;multimap介绍 multimap是关联式容器&#xff0c;按照特定顺序存储键值对<key、value>&#xff0c;其中多个键值对之间的key可以重复&#xff1b;通常按照key排序和唯一标识元素&#xff0c;…

阿里一面凉凉,幸获内推华为技术四面,offer到手

上个月&#xff0c;哥们从某小厂离职&#xff0c;转投阿里云&#xff0c;简历优秀&#xff0c;很顺利地拿到了面试通知&#xff0c;但之后的进展却让哥们怀疑人生了&#xff0c;或者说让哥们懵逼的是&#xff0c;面试阿里云居然第一面就被吊打&#xff1f;让哥们开始怀疑自己&a…

大型复杂地质模型如何实现可视化?知名公司MineRP给你答案!

行业&#xff1a;采矿业 挑战&#xff1a;采矿业客户在寻找未开发的矿体和有效挖掘方面面临着越来越多的挑战&#xff1b;不同的采矿系统之间缺乏整合&#xff0c;呈现出零散的矿山运营视图&#xff1b;地质模型、采矿计划、时间表和点云以及其他需要可视化的矿山技术数据集可…

算法(63)-二叉树的递归-搜索二叉树-满二叉树-平衡二叉树-

目录 1.二叉树 2.搜索二叉树&#xff1a; 3.满二叉树&#xff1a; 4.平衡二叉树 1.二叉树 先、中、后序遍历 先序&#xff08;中、左、右&#xff09;&#xff1a;1&#xff0c;2&#xff0c;4&#xff0c;5&#xff0c;3&#xff0c;6&#xff0c;7 中序&#xff08;…

两个好用到爆的Python模块,建议收藏~

在日常开发工作中&#xff0c;经常会遇到这样的一个问题&#xff1a;要对数据中的某个字段进行匹配&#xff0c;但这个字段有可能会有微小的差异。比如同样是招聘岗位的数据&#xff0c;里面省份一栏有的写“广西”&#xff0c;有的写“广西壮族自治区”&#xff0c;甚至还有写…