方法的重载和方法的重写

R语言的下载、安装及环境配置(Rstudio&VSCode) R for Windows是一个免费的用于统计计算和统计制图的优秀工具,是R语言开发工具。它拥有数据存储和处理系统、数组运算工具(其向量、矩阵运算方面功能尤其强大)、完整连贯的统计分析工具、优秀的统计制图等功能。提供的图形界面,可以在其中访问控制台、创建脚本或安装其他软件包。 阅读详情

方法的重写Overriding和重载Overloading是Java多态性的不同表现。

方法的重载:

什么是方法的重载呢? 

方法的重载是指方法名相同,参数类型,参数个数,参数顺序至少有一个不相同的一类方法。在方法体的内部不能使用private、protected、public定义局部变量。被final修饰的形参不能修改其引用中存在的值。

注意:1.如果只有访问修饰符权限改变不构成方法的重载。

             2.如果只有返回值类型不同不构成方法的重载。

 下面来举一个例子:

public class MethodTest {
String name="成某某";
public String draw(){
	System.out.println("画了一个圆");
	return "yuan";
}
public void draw(int i){
	System.out.println("画了一个正方形");
}
public int draw(String s){
	return s.length();
}
public int draw(int b,String s){
	System.out.println("draw:"+s+"--"+b);
	return b;
}
public int draw(String s,int b){
	System.out.println(s+"   "+b);
	return b;
}
private void test(final int b){
    //b++;  这样写会报错,被final修饰的形参不能改变它的值。
	int i=0;
	i++;
	
}
}

 观察上述的实例:public void draw(int i) {  System.out.println("画了一个正方形"); }    如果只改变它的访问权限,改为缺省,

写为:     void draw(int i) {  System.out.println("画了一个正方形"); }     这样写不能通过编译,会报错,不构成方法的重载。如果只改变它的返回值类型,写为:   public int draw(int i) {  System.out.println("画了一个正方形");   return   i;}      也不能通过编译,会报错,不构成方法的重载。

方法的重写(方法的覆盖):

 什么叫方法的重写?

当一个子类要继承父类时,它如果需要重写父类的方法的话必须符合一定的规则。

方法重写的规则:1.子类的方法必须与父类的某个方法的方法名,返回值类型以及参数类型、个数、顺序完全相同。若子类中的方法与父类中的某一方法具有相同的方法名、返回类型和参数表,则新方法将覆盖原有的方法。

                                2.子类的方法不能缩小父类方法的访问权限。

                                3.子类的方法不能抛出比父类方法更多的异常。

                                4.不能重写标志为final因为final表示最终的意思,不能被修改。

                               5. 非检查异常:重写方法可以抛出任何非检查的异常,无论被重写方法是否声明了该异常。 

                               6. 检查异常:重写方法一定不能抛出新的检查异常,或比被重写方法声明的检查异常更广的检查异常 。但是可以不抛出异常。

下面我来举一个例子:

public class MethodTestSon extends MethodTest{
public void draw(int a){
	System.out.println("子类画了一个圆");
}
public int draw(String s){
	return 0;
}
public int draw(int a,boolean b){
	return a;
}
public int draw(int a,String s){
	return a;
}
public void go(){
	System.out.println("你走了");
}
public void work(final MethodTest m){
	System.out.println(m.name);
	m.name="成某某来了";
	System.out.println(m.name);
	//m=new MethodTest();    被final修饰的对象,不能改变它的引用,也就是不能改变它的地址;
}

 

【系统分析师】2025年上半年真题:案例分析-答案及详解(回忆版) 摘要: 试题一考查面向对象分析,涉及用例模型构建的四个阶段(识别参与者、合并需求、细化描述、调整模型),分析CRM系统的参与者与用例,并说明用例间的包含、扩展和泛化关系。 试题二探讨嵌入式Docker,包括容器的轻量性、可移植性及隔离性含义,10项措施与7个规范方面的对应关系,以及优化容器切换时间的三种方法(如无状态连接优化)。 试题三聚焦数据库设计,分析订单表的函数依赖与范式分解(BCNF),讨论分解后是否保持函数依赖及无损性,并针对触发器的性能缺陷提出优化方案。 试题四解析Web开发中的MVC架构与SS 阅读详情

相关推荐

狗都能看懂的MAML原理讲解和代码实现

meta-leaning指的是元学习,元学习是深度学习的一个分支,一个好的元模型(meta-learner)应该具备对新的、少量的数据做出快速而准确的学习。通俗的来讲, 对于人来说,给几张橘猫的图片让看一下,再给你几张没见过的英短猫图片,你一定能很快识别出来都是猫。但是对于神经网络来说,并非如此。如果让一个小汽车分类网络去识别不同的大货车,那效果肯定很差。而传统的CNN网络都是输入大量的数据,然后进行分类的学习。但是这样做的问题就是,神经网络的通用性太差了,根本达不到“智能”的标准。而人类的认知系统,可以通

个人学习笔记 6万+

重写和重载的区别

重写(Override) 重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写! 重写的好处在于子类可以根据需要,定义特定于自己的行为。 也就是说子类能够根据需要实现父类的方法。 重写方法不能抛出新的检查异常或者比被重写方法申明更加宽泛的异常。例如: 父类的一个方法申明了一个检查异常 IOException,但是在重写这个方法的时候不能抛出 Exception 异常,因为 Exception 是 IOException 的父类,只能抛出 IOExcep

qq_52285743的博客 513

Qt6.5.1+WebRTC学习笔记(十二)环境搭建流媒体服务器(ubuntu22.04+SRS)

若只是实现一对一通信,仅使用webrtc就足够了。但有时间需要进行多个人的直播会议,当人比较多时,建议使用一个流媒体服务器,笔者使用的是SRS。这个开源项目资料比较全,笔者仅在此记录下搭建过程。

aggs1990的专栏 3364

Java中方法的重载和重写

重载是在同一个类中的具有相同方法名,不同参数(个数、类型、顺序)的方法的定义,构造方法 普通方法 抽象方法都可以重载;重写是在子类继承父类的时候重写,在子类重写的方法名必须和父类的方法名完全相同,可以用@Override检查是否是重写方法。 一.重载(Overload) Overload:发生在一个类或者其一个子类当中,具有相同的方法名,但是方法的参数列表不同,与返回值无关,所以返回值类型可以相同也可以不同。方法重载是编译时多态。 ①函数名相同 ②参数列表一定不同(类型,个数) ③返回值不做要

m0_56673710的博客 3657

利用ORCAD/pspice 仿真分析电路的幅度相位谱

利用ORCAD的pspice仿真分析电路的相位谱1.介绍2.搭建电路原理图3.建立仿真文件,进行交流分析4.仿真、查看输出5.总结 1.介绍 orcad配合pspice一直是电路原理图绘制和仿真的主要工具,pspice工具提供了诸如暂态分析、直流分析、交流分析等多个工具。学校主要教的是multisim,对orcad讲得很少,最进要利用orcad对运放构成的电路的频响、相移特性进行分析,发现资料幅度...

qq_40011737的博客 1万+

人大金仓集群部署(主备)

4.2 上传安装包镜像和授权文件到install目录下并授权。1、复制系统脚本到/opt/kingbase目录下(主节点)4.2 修改cluster_install.sh。回车进行下一步,直到出现以下界面,回复Y键回车。三、安装kingbase客户端段(都要安装)install目录作为安装包具体存放目录。4.1 修改install.conf文件。2、复制授权文件到安装目录下(主节点)3、修改ssh参数(节点都要配置)5、安装kingbase客户端。二、基本环境配置(都要配置)6、数据库集群安装(主节点)

edutech_wang的博客 1995

java封装,继承和多态

1 package case8; public class TestPolymorphism { public static void main(String[] args) { // 以多态方式分别实例化子类对象并调用eat()方法 /********* begin *********/ Animal a=new Cat(); Animal b=new Dog(); Animal c...

NJU phd 在读。 3115

手把手教你搞定Pattern Recognition期刊的LaTeX投稿(附完整模板下载与避坑指南)

本文详细指导如何在Pattern Recognition期刊上使用LaTeX进行投稿,包括模板下载、环境配置、核心排版规范及投稿材料准备。特别强调期刊对格式的严格要求,如数学符号、图像引用等细节,并提供实用技巧和避坑指南,帮助作者高效完成投稿流程。

weixin_30876945的博客 394

方法的重载和重写

重载:是指在同一个类中,有方法名相同,但是形参列表不同的多个方法 。 既然方法名相同,那么编译器怎么辨别这些方法呢?就是通过形参列表 那么什么是形参列表呢?就是指形参的返回类型+个数+顺序,只有其中一个条件不一样,那么就是不同的形参列表 方法签名,了解一下 ================================================================== 重写:在父子关系(只能是继承)中,子类根据需求将父类继承过来的方法,重写方法体 可以使用@Override注解,注解的作

ExceptionCoder的博客 511

开关电源中的高频振荡噪声及其抑制方法

在开关电源的工作过程中,随着开关管的开关动作,电流和电压波形会出现剧烈的波动,尤其是在开关管切换的瞬间,往往会导致较强的过冲现象。开关电源中的高频振荡噪声是导致电磁兼容问题的主要源头之一,尤其是MOS管的通断和整流二极管的反向恢复过程中,会产生较强的高频振荡噪声。通过合理调节R和C的值,可以大大缓解高频振荡带来的EMC问题,从而有效提升电源的电磁兼容性。整流二极管反向恢复时的振荡会导致高频噪声产生,这些高频噪声源可被传导到电源的输出端,甚至可能通过电源的共地路径扩散到其他电路,影响系统的稳定性和可靠性。

硬核科技 1529

YOLOv11半监督学习深度解析:基于FixMatch改进的先进目标检测框架

本文探讨了半监督学习与YOLOv11结合的创新方法。针对目标检测中半监督学习面临的伪标签质量不稳定、特征一致性难保证等挑战,研究提出改进版FixMatch框架。通过分析YOLOv11架构特性(如多尺度特征提取、双标签分配策略等)与半监督学习的适配性,设计了三项关键技术改进:空间感知阈值策略、多任务解耦处理和记忆增强机制。该方法在少量标注数据下可实现接近全监督的性能,显著降低工业检测等场景的数据标注成本。

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 2082

方法的重写与重载

方法的重载 同一个类中,方法名相同,参数列表不同(参数个数或者对应的数据类型不同) 例如: public void print(int a) public void print(int a,double b); public void print(double b,int a) 方法的重写 子类继承父类时,有可能会重写父类中的方法,实现另外的功能 注意:父类私有的方法不能重写 重写时,访问...

小白学编程 4183

SAP GR(Group Reporting)配置篇(一)

GUI组报表的SAP S4HANA1.1全局参数1.1.1 检查全球系统设置菜单路径组报表的SAP S4HANA>合并的全局设置>检查全球系统设置事务代码CXB3说 明定义好分类账、版本、合并科目表后,重新设置。1.2主数据1.2.1定义合并分类账菜单路径组报表的SAP S4HANA>主数据>定义合并分类账事务代码CXL2说 明复制的Y1合并分类账,集团货币为CNY。此功能对分类账进行设置,应用到集团货币分类。

weixin_43853754的博客 1700

方法重载和方法重写

重写的方法必须与被重写的方法具有相同的名称、参数列表和返回类型(或子类型)。

C6666888的博客 1907

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

方法的重载和重写有什么区别

区别点重载(Overloading)重写(Overriding)发生位置同一个类中父类与子类之间参数列表必须不同(参数个数、类型或顺序不同)必须相同返回类型可以相同,也可以不同必须相同(Java 5 之后,允许返回类型是协变类型)方法名相同相同修饰符无限制访问修饰符不能比父类的更严格多态性编译时多态性运行时多态性与继承的关系与继承无关与继承相关,子类重写父类的方法目的提供同一个方法名的多个实现,以处理不同类型或数量的参数子类定制父类方法的行为。

阿鹏的博客 1340

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

方法重写和方法重载

qq_774952435的博客 5972

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

方法重写和方法重载的区别

方法重写和方法重载的区别

qq_45854518的博客 2446

方法的重载和重写简述

方法的重载(overload) 在同一个类中方法名相同,参数列表不同(个数不同,类型不同,顺序不同) 和返回值和权限修饰符无关 方法重载示例(构造方法) package waking.test.cc; /** * 方法的重载 * @author waking * */ public class Demo01 { private int id; private String name...

weixin_43688349的博客 2767

简述方法的重载和方法的重写

简述方法的重载和方法的重写、java中实现多态的机制是什么?、什么是抽象类?什么是抽象方法?有什么特点?、请说出作用域public,private,protected,以及不写时的区别、是否可以从一个static方法内部发出对非static方法的调用?、简述this,super关键字用法

m0_58725148的博客 2970

方法重写和重载的区别

1 问题在Java中,方法存在着重写和重载两种方式,它们的区别是什么?2 方法2.1方法的重写在Java中,重写(override)指的是子类可以重写其父类中的非private方法,使得子类在调用该方法时会使用自己的实现而不是父类的实现。方法的重写具有以下特点:1.重写是指子类定义了与父类具有相同名称、参数列表和返回类型的方法,并且子类方法的访问修饰符不能比父类方法更严格。2.重写用于实现多态性,...

算法与编程之美 851

Java 中构造器重载,方法重载和方法重写区别

开发工具与关键技术:Java 作者:吴永旗 撰写时间:2019年4月25日 什么构造器重载? 构造器重载名字相同,而形参列表一定不同或者形参列表次序不同,构造器名和类名相同,并且没有返回值 例子如下: public class Dog { public Dog(){//类名 Dog作为构造器名 System.out.println(“无参构造方法”); } public Dog(String ...

小坏蛋博客 1002

方法重写和方法重载总结

重载(overloading) 是在一个类中,必须改变原同名方法的参数列表,其他可以按需改变来创建一个新的同名方法。常见的有构造器的重载,overroad,相当于重新装参数,但是其实现不一定修改。

进一步有一步的欢喜 467

方法的重写和重载

子类重新定义父类中已存在的方法,方法名、参数列表和返回类型必须完全相同。同一类中定义多个同名方法,通过参数列表(类型/数量/顺序)区分。b. 返回类型可以是父类方法返回类型的子类(协变返回类型)。子类可重载父类方法(需参数列表不同)。实现运行时多态(动态绑定),允许子类修改或扩展父类的行为。a. 子类方法抛出的异常 ≤ 父类方法异常(或完全不抛)。​:用于扩展方法功能(编译时多态),需通过参数列表区分。a. 方法名、参数类型、返回类型必须一致。a. 必须不同(类型、数量或顺序)。​:必须基于父子类继承。

weixin_74120671的博客 511

《方法的重载和重写的异同点》

方法的重载和重写的异同点 开发工具与关键技术:MyEclipse 10、Java 作者:潘玉莹 撰写时间:2019-04-12 方法的重载 什么是方法的重载?  重载是在一个类里面,方法名称相同,而形参列表不同。返回值类型可以相同也可以不同。每个重载的方法(或者构造器)都必须有一个独一无二的参数类型列表 通俗概念:在同一个类中,允许存在一个以上的同名方法,只要他们的参数个数或者参数顺序不同即可...

weixin_44548676的博客 1468

方法重载和方法覆盖(重写)的区别:

方法重载和重写是不同的概念,主要有以下区别: 1、首先是含义不同 1)方法重载是在同一个类中,声明多个同名方法,通过参数列表来区分不同的方法,与参数列表的数量、类型和顺序有关,与修饰符和返回值类型以及抛出异常类型无关 2)方法重写(方法覆盖)的前提是发生在具有继承关系的两个类之间,方法重写有以下规则: a.参数列表必须保持一致 b.返回值类型必须保持一致 c.方法名必须保持一致 d.重写方法的访问权限范围必须大于等于父类方法 e.重写方法的抛出异常类型范围不能大于父类方法 2、方法的重载和重写的作用不同 重

一枚正在长大的程序猿 7714
上一篇: java的Object类理解和接口的定义
下一篇: File类的学习总结
coder150806
博客等级 码龄8年 79粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值