Java中方法的重载与重写

news2024/11/22 16:55:07

文章目录

  • 前言
  • 方法重载
  • 方法重写


前言

提示:这里可以添加本文要记录的大概内容:

方法的重载与重写容易混,所以单独拿出来比较
请添加图片描述


提示:以下是本篇文章正文内容,下面案例可供参考

方法重载

在同一个类中,允许定义一个以上同名的方法称为方法重载

方法重载的规则:

  1. 方法名相同
  2. 方法的参数必须不同,参数类型或参数个数不同
  3. 方法的重载与返回值类型无关
public class 方法重载 {
	public static void m1(int x) {
		System.out.println("第一个m1");		
	}

	public static void m1(double y) {
		System.out.println("第二个m1");
	}
	
	public static void main(String[] args) {
		m1(4.0);
	}
}

方法重写

子类将从父类中继承下来的方法重新实现,叫方法重写(重新编写方法体)

方法重写的规则:

  1. 方法名相同
  2. 参数相同
  3. 返回值类型形同
  4. 访问权限不小于父类
  5. 抛出的异常声明不大于父类

当我们要重写一个方法时,我们可以在子类中定义一个同名的方法,使用@Override注解标注该方法,来表明我们要重写父类中的方法。
下面是一个重写方法的例子:

public class Animal {
//父类
    public void move() {
        System.out.println("动物在移动");
    }
}

public class Dog extends Animal {
//子类
    @Override
    public void move() {
        System.out.println("狗在跑");
    }

    public static void main(String[] args) {
    //测试
        Animal animal = new Animal();
        Dog dog = new Dog();
        animal.move(); // 动物在移动
        dog.move(); // 狗在跑
    }
}

在上面的例子中,我们定义了一个Animal类和它的一个子类Dog
Animal类中有一个move()方法,它用来输出一句话“动物在移动”
Dog类中重写了move()方法,并在该方法中输出了一句话“狗在跑”

当我们调用move()方法时,如果调用的是Animal类的对象,就会输出“动物在移动”,如果调用的是Dog类的对象,就会输出“狗在跑”。
这就是方法重写的作用,它让我们在子类中可以重新定义父类中的方法,并且可以根据需要修改其行为。

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

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

相关文章

springcloud-alibaba (06)RocketMQ控制台安装与启动

RocketMQ控制台 ✨让你的消息传输更高效✨ 如果你是一名开发者,或者是对消息传输有需求的企业用户,那么你肯定不陌生于 RocketMQ,它是一个高可用、高可靠、高性能、分布式消息中间件。但是有时候,在 Windows 上安装和启动 Rocke…

生产环境可用的 Seata-go 1.2.0 来啦!!!

文|刘月财(GitHub ID:luky116) 360 服务端开发专家 Seata-go 项目负责人 本文 2752 字 阅读 7 分钟 发布概览 Seata-go 1.2.0 版本支持 XA 模式。XA 协议是由 X/Open 组织提出的分布式事务处理规范,其优点是对业务代码无侵入。当前…

小巧长续航的主动降噪耳机,更轻更好用,QCY ArcBuds上手

我平时听歌、玩游戏的时候喜欢戴上一副蓝牙耳机,这种耳机选择很多,这几年进步还很快,市面上有很多价格合理、音质出色的选择。我目前用的是一款QCY ArcBuds,这款耳机支持主动降噪,户外使用体验不错,而且它做…

Dockerfile实现LNMP

systemctl stop firewalld systemctl disable firewalld setenforce 0 docker network create --subnet172.18.0.0/16 --opt "com.docker.network.bridge.name""docker1" mynetwork #部署nginx(容器IP 为 172.18.0.10) mkdir /o…

一文讲解 基于C++手写Rpc项目

目录 github 预备知识 集群和分布式 单机聊天服务器 集群聊天服务器 分布式聊天服务器 从集群式 到 分布式聊天服务器 看来只有好处 ,但代价是什么? rpc 的 通信原理 remote procedure call 分布式通信 手写的rpc部分 protobuf>json 好处? 介绍protobuf protob…

RabbitMQ - 死信队列

RabbitMQ - 死信队列 死信的概念死信的来源死信实战死信之TTl死信之最大长度死信之消息被拒 死信的概念 先从概念解释上搞清楚这个定义,死信,顾名思义就是无法被消费的消息,字面意思可以这样理 解,一般来说,producer …

【进程间通信:管道】

目录 1 进程间通信介绍 1.1 进程间通信目的 1.2 进程间通信发展 1.3 进程间通信分类 2 管道 2.1 什么是管道 2.2 匿名管道 2.2.1 匿名管道的使用 2.2.2 使用匿名管道创建进程池 2.3 管道读写规则 2.4 匿名管道特点 2.5 命名管道 2.5.1 概念 2.5.2 使用 1 进程间通…

Learning C++ No.28 【C++11语法实战】

引言: 北京时间:2023/6/5/9:25,今天8点45分起床,一种怎么都睡不够的感觉,特别是周末,但是如果按照我以前的睡觉时间来看,妥妥的是多睡了好久好久,并且昨天也睡了一天,哈…

C#,码海拾贝(32)——计算“实对称三对角阵的全部特征值与特征向量的”之C#源代码

using System; namespace Zhou.CSharp.Algorithm { /// <summary> /// 矩阵类 /// 作者&#xff1a;周长发 /// 改进&#xff1a;深度混淆 /// https://blog.csdn.net/beijinghorn /// </summary> public partial class Matrix {…

第⑩讲:Ceph集群CephFS文件存储核心概念及部署使用

文章目录 1.CephFS文件存储核心概念1.1.CephFS文件存储简介1.2.CephFS文件存储架构1.3.CephFS文件系统的应用场景与特性 2.在Ceph集群中部署MDS组件3.在Ceph集群中创建一个CephFS文件存储系统3.1.为CephFS文件存储系统创建Pool资源池3.2.创建CephFS文件系统3.3.再次观察Ceph集群…

chatgpt赋能python:从后到前查找Python字符串

从后到前查找Python字符串 Python是一种流行的编程语言&#xff0c;广泛用于Web开发、数据科学和算法设计等领域。其中&#xff0c;字符串是Python编程中的重要概念之一&#xff0c;它不仅可以表示文本&#xff0c;还可以进行各种处理。本篇文章将介绍Python字符串从后到前的查…

chatgpt赋能python:Python如何运行最方便

Python 如何运行最方便 Python 是一种高级编程语言&#xff0c;被广泛使用于各类领域。由于其简单易学&#xff0c;可读性高&#xff0c;适用于不同平台的特性&#xff0c;Python 已成为计算领域、Web 开发、数据分析等领域的首选语言之一。如果您正在学习 Python 或需要对其进…

【SQL】Oracle数据库安装并实现远程访问

文章目录 前言1. 数据库搭建2. 内网穿透2.1 安装cpolar内网穿透2.2 创建隧道映射 3. 公网远程访问4. 配置固定TCP端口地址4.1 保留一个固定的公网TCP端口地址4.2 配置固定公网TCP端口地址4.3 测试使用固定TCP端口地址远程Oracle 前言 Oracle&#xff0c;是甲骨文公司的一款关系…

RTL8380MI/RTL8382MI管理型交换机系统软件操作指南六:RSTP/快速生成树协议

对RSTP/快速生成树协议进行详细的描述&#xff0c;主要包括以下内容&#xff1a;STP概述、RSTP介绍、全局配置、端口配置、RSTP信息、端口信息. 1.1 STP概述 STP&#xff08;Spanning Tree Protocol&#xff09;是生成树协议的英文缩写。STP协议中定义了根桥&#xff08;RootB…

报表生成器FastReport .Net用户指南:显示数据列、HTML标签

FastReport .Net是一款全功能的Windows Forms、ASP.NET和MVC报表分析解决方案&#xff0c;使用FastReport .NET可以创建独立于应用程序的.NET报表&#xff0c;同时FastReport .Net支持中文、英语等14种语言&#xff0c;可以让你的产品保证真正的国际性。 FastReport.NET官方版…

『 前端三剑客 』:HTML常用标签

HTML中常用标签 HTML中常用标签一 . 认识HTML标签二 . HTML标签介绍三 . 案例应用 一 . 认识HTML标签 在HTML中标签是以成对的结构出现的,在HTML当中代码是通过标签来组织的 , 下面通过见得的Hello World的展现来显示歘HTML 标签的结构 <html><head></head>…

mac使用anaconda安装人声分离开源工具spleeter

0. 以下为一步步自己摸索的成功安装过程 1. 安装 spleeter 注&#xff1a;anaconda 的虚拟环境 conda install spleeter太慢 pip install spleeter下载卡住 (tensorflow) Robin-macbook-pro:~ robin$ pip install spleeter Collecting spleeterWARNING: Retrying (Retry(t…

伺服电机的刚性和惯量如何理解

要说刚性&#xff0c;先说刚度。 刚度是指材料或结构在受力时抵抗弹性变形的能力&#xff0c;是材料或结构弹性变形难易程度的表征。 材料的刚度通常用弹性模量E来衡量。在宏观弹性范围内&#xff0c;刚度是零件荷载与位移成正比的比例系数&#xff0c;即引起单位位移所需的力…

OpenAI 领导层建议成立人工智能国际监管组织

人工智能的发展非常迅速&#xff0c;其潜在风险也变得越来越明显&#xff0c;为此&#xff0c;OpenAI的领导层认为&#xff0c;世界需要一个类似于核能监管机构的国际人工智能监管机构--要尽快建立&#xff0c;但也不能操之过急。 在该公司的一篇博文中(https://openai.com/blo…

javaScript蓝桥杯----图⽚⽔印⽣成

目录 一、介绍二、准备三、⽬标四、代码五、完成 一、介绍 很多⽹站都会通过给图⽚添加⽔印的形式来标记图⽚来源&#xff0c;维护版权。前端⽣成⽔印通常是通过canvas 实现&#xff0c;但实际上我们也可以直接利⽤ CSS 来实现图⽚⽔印&#xff0c;这样做会有更好的浏览器兼容…