方法的重写VS重载

方法的重写(override

  1. 方法的重写

    子类从父类中继承方法,有时,子类需要修改父类中定义的方法的实现,这称做方法的重写(method overriding)。“重写”的概念与“重载”相似,它们均是Java“多态”的技术之一,所谓“重载”,即是方法名称相同,但却可在不同的场合做不同的事。当一个子类继承一父类,而子类中的方法与父类中的方法的名称、参数个数和类型都完全一致时,就称子类中的这个方法重写了父类中的方法。“重写”又称为“复写”、“覆盖”。

  2. 如何使用重写

    class Super {访问权限 方法返回值类型 方法1(参数1{...}
    }
    class Sub extends Super{访问权限 方法返回值类型 方法1(参数1) —————>复写父类中的方法{...}
    }
    

注意:方法重写时必须遵循两个原则,否则编译器会指出程序出错。

  • 重写的方法不能比被重写的方法有更严格的访问权限;
  • 重写的方法不能比被重写的方法产生更多的异常(关于异常,在后面会介绍)。

方法的重载(overload

  1. 方法的重载

    首先回顾一下前面所讲的方法的重载,方法重载是指多个方法可以享有相同的名字,但是参数的数量或类型不能完全相同。 调用方法时,编译器根据参数的个数和类型来决定当前所使用的方法。方法重载为程序的编写带来方便,是OOP多态性的具体变现。在Java系统的类库中,对许多重要的方法进行重载,为用户使用这些方法提供了方便。

  2. 重载的规则

    • 被重载的方法必须改变参数列表(参数个数或类型不一样);
    • 被重载的方法可以改变返回类型;
    • 被重载的方法可以改变访问修饰符;
    • 被重载的方法可以声明新的或更广的检查异常;
    • 方法能够在同一个类中或者在一个子类中被重载。
    • 无法以返回值类型作为重载函数的区分标准。

在这里插入图片描述

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

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

相关文章

使用阿里云火车票查询接口案例——CSDN博客

首先我们需要一个实体类,专门放火车票信息的封装类,实体类: Train.java: /** * Title: Train.java * Package cn.bdqn.guanMingSys.entity * Description: TODO该方法的主要作用: * author A18ccms A18ccms_gmail_com * dat…

权衡微服务

很多开发团队已经认识到 微服务架构比单体架构更优越。但是也有其他团队感觉到这是一种消弱生产力的负担。就像任何软件架构,微服务架构同样有利弊。为了能做出一个明智的选择,你必须了解这些应用并将它们运用到你特定的环境中。 微服务的优势 具有边界的…

使用IDM下载,不适用默认浏览器下载

google浏览器是不能够安装的除非有v*p*n() Firefox浏览器可以安装js脚本 推荐使用 1 google 扩展 IDMan628 扩展程序里面加 IDMGCExt.crx 2 扩展Tampermonkey 加Tampermonkey.crx 3 点击Tampermonkey 的仪表盘 右上角加按钮 百度网盘直接下载助手…

深入分析事务的隔离级别

转载自 [中级]深入分析事务的隔离级别 本文详细介绍四种事务隔离级别,并通过举例的方式说明不同的级别能解决什么样的读现象。并且介绍了在关系型数据库中不同的隔离级别的实现原理。 在DBMS中,事务保证了一个操作序列可以全部都执行或者全部都不执行&am…

使用阿里云智能翻译接口案例——CSDN博客

/*** * Title: getTranslates* Description: 该方法的主要作用:智能翻译* param 设定文件 * return 返回类型:void * throws*/public void getTranslates(){String host "https://dm-11.data.aliyun.com";String path "/rest/160…

ASP.NET Core 中的那些认证中间件及一些重要知识点

前言 在读这篇文章之间,建议先看一下我的 ASP.NET Core 之 Identity 入门系列(ASP.NET Core 之 Identity 入门(一),ASP.NET Core 之 Identity 入门(二),ASP.NET Core 之 Identity 入…

判断个十百千位之后是否大于20 java——CSDN博客

/*** * Title: test_draw_a_lottery_or_raffle* Description: 该方法的主要作用:输入四位数,各位数数字之和大于20 中奖,否则没中奖* param 设定文件 * return 返回类型:void * throws*/Testpublic void test_draw_a_lotte…

mybatis-plus 错误java.lang.NoClassDefFoundError: org/apache/velocity/context/Context

https://blog.csdn.net/qq_39609151/article/details/82855305 mybatis-plus 错误java.lang.NoClassDefFoundError: org/apache/velocity/context/Context Murphy_fly 2018-09-26 16:41:55 27168 收藏 15 分类专栏: 框架 版权 使用mybatis-plus自动生成文件的时…

向上类型转换VS向下类型转换

子类转换成父类时的规则: 将一个父类的引用指向一个子类的对象,称为向上转型(upcasting),自动进行类型转换。此时通过父类引用调用的方法是子类覆盖或继承父类的方法,不是父类的方法。 此时通过父类引用变量无法调用子类特有的方法&#xff…

彻底理解数据库事务

转载自 彻底理解数据库事务 事务 事务(Transaction),一般是指要做的或所做的事情。在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。在计算机术语中,事务通常就是指数据库事务。 概念 一个数据库事务通常包含对数据库进行…

.NET 使用 RabbitMQ 图文简介

前言 最近项目要使用RabbitMQ,园里里面已经有很多优秀的文章,Rabbitmq官网也有.net实例。这里我尝试下图文并茂之形式记录下使用的过程。 安装 RabbitMQ是建立在erlang OTP平台下,因此在windows下需要下载并安装以下两个组件: 1. …

使用java交换两个数——CSDN博客

/*** * Title: test_exchange* Description: 该方法的主要作用:交换两个数* param 设定文件 * return 返回类型:void * throws*/Testpublic void test_exchange(){int num1 10;int num2 20;int exchange 0;System.out.println("原来的…

Springboot+MyBatis-plus+postgresSQL 的整合

https://blog.csdn.net/xuxiannian/article/details/99625085 SpringbootMyBatis-pluspostgresSQL 的整合 禛陌 2019-08-15 12:20:10 6752 收藏 7 分类专栏: 技术相关 文章标签: SpringbootMyBatis-pluspostgresSQL 版权 磨叨一下 MyBatis-plus 请…

String中的compareTo()方法

compareTo()方法 String类中的compareTo()方法将返回两个字符串对象的比较结果,若相等,返回0。不相等时,从两个字符串第1个字符开始比较,返回第一个不相等的字符差;另一种情况,较长字符串的前面部分恰巧是较…

使用Senparc.Weixin.WxOpen开发高可用的微信小程序

Senparc.Weixin SDK介绍 Senparc.Weixin SDk是目前.net平台上使用率最高的微信SDK,除硬件平台暂未发布以外覆盖了所有微信平台模块,自2013年免费开源起已经持续更新了4年,是GitHub上目前Star和Fork数最多的中国C#开源项目。 目前大多数模块都…

java使用循环案例——CSDN博客

/*** * Title: test_while* Description: 该方法的主要作用&#xff1a;while循环&#xff0c;输出100个我爱编程* param 设定文件 * return 返回类型&#xff1a;void * throws*/Testpublic void test_while(){int i 1;while (i<100) {System.out.println("第&…

Java中的事务——JDBC事务和JTA事务

转载自 Java中的事务——JDBC事务和JTA事务 我的博客中曾经关于事务有过很多讨论&#xff0c;之前的事务介绍基本都是数据库层面的事务&#xff0c;本文来介绍一下J2EE中和事务相关的内容&#xff0c;在阅读本文之前&#xff0c;希望读者对分布式有一定的了解。 关于事务的基础…

IDEA使用笔记(八)——自动生成 serialVersionUID 的设置

Ihttps://www.cnblogs.com/godtrue/p/7674487.html https://www.cnblogs.com/godtrue/p/7674487.html DEA使用笔记&#xff08;八&#xff09;——自动生成 serialVersionUID 的设置 这个设置比较简单&#xff0c;也有一些博文已经写到了&#xff0c;为什么我还要写哪&#…

从事件和DDD入手来构建微服务

领域驱动设计&#xff08;Domain-Driven Design&#xff0c;DDD&#xff09;是一项很伟大的技术&#xff0c;它拉近了设计与程序实际所服务的领域&#xff0c;但是通常我们会关注结构&#xff0c;从而太早地做出决策&#xff0c;这并非DDD的本意。相反&#xff0c;在领域中&…