java怎样实现重载一个方法
重载(重新载选方法):
java允许在一个类中,存在多个方法拥有相同的名字,但在名字相同的同时,必须有不同的参数,这就是重载,编译器会根据实际情况挑选出正确的方法,如果编译器找不到匹配的参数或者找出多个可能的匹配就会产生编译时错误,这个过程被称为重载的解析 。
重载包括:普通方法的重载和构造方法的重载

方法:即函数(文中我们统称之为“方法”),是一个固定的一个程序段,或称其为一个子程序,它在可以实现固定运算功能。而且,同时还带有一个入口和一个出口,所谓的入口,就是函数所带的各个参数,我们可以通过这个入口,把函数的参数值传入子程序,供计算机处理;所谓出口,就是指函数的返回值,在程序段执行之后,由此返回值将值传回给调用它的程序。
通常地,一个类可以有多个重载方法 ,可根据不同的需求来设计类中不同的重载方法。其中,参数个数,类型,甚至不同类型参数的顺序等的的不同均为对同一个方法的不同重载。比如,如图,我们经常见到的String类就是一个及其典型的例子。

P.S. 此例也在纠正本人在上次分享经验时候犯下的一个可笑错误。再次查看标题,表示无误,是重载,没有写成重写。
方法/步骤
首先,我们先写一个完整的例子。这是一个最原始的方法,如图。以后各个步骤我们陆续进行学习,逐层深入地重载这个方法。

1、开始呢,我们讨论一下访问修饰符对今天讨论内容是否有影响,答案是,访问权限修饰符对方法的重载不影响。也即,它们不是构成不同方法的必要条件。通俗点讲,方法的不同和访问修饰符是否一致没有任何关系。如图,如果访问修饰符不一致,而参数相同(或者都没有参数)的话,java默认其都为同一种方法,因此编译无法通过,报错。

2、排除了访问修饰符之后,接下来我们讨论一下返回值的不同是否可以是重载的另一种方式,此处,我们就简单地举三个例子,即,返回值为空,返回值为int型二个方法,最后证明,返回值也不是构成重载方法的必要条件,如图:

3、 接下来唯一可以区别的就是参数了。我们分情况来练习。第一种,不同的参数,没错,不同的参数一定就是不同的方法了,我们可以再试一试,如图:

4、第3步骤我们说的是不同的参数,并不是对参数的命名的不同,而是指参数类型的不同,我们写出来让事实证明一下。如图,参数类型相同,都为整数类型,但是形参的命名不同,编译无法通过。

5、 还有呢,因参数个数不同而造成的重载。我们可以再写个例子,1个无参方法,1个int参数方法,两个int参数方法,如图:

6、到了此时,我们到了重点环节。请问,还有没有其他类型的不同的重载呢?有的!想象一下,参数种类不同,个数相同,有什么办法是之变得不一样吗?对的!妳猜对了!是顺序不同!顺序不同的情况下,依旧是不同的方法,这也就实现重载了。如图:

最后,我们总结一下,重载关心的只是参数,有参无参,参数类型不同,参数数量不同,不同类型的参数顺序不同,都可以实现方法的重载。
java怎样实现重载一个方法的更多相关文章
- C++中的重载隐藏覆盖&&JAVA中的重载覆盖&&多态
class 类继承默认是private, struct 默认继承是public C++中的隐藏: 只要派生类中出现和基类一样的函数名,基类中的函数就会被派生类中的函数给隐藏(如果派生类和基类中的函数名 ...
- Java基础03 构造器与方法重载
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在方法与数据成员中,我们提到,Java中的对象在创建的时候会初始化(initial ...
- Java 方法重载,方法重写(覆盖),继承等细节注意
1.方法重载(method overload)的具体规范 如果有两个方法的方法名相同,但参数不一致,那么可以说一个方法是另一个方法的重载. 一.方法名一定要相同. 二.方法的参数表必须不同,包括参数的 ...
- 学JAVA第十三天,方法、方法重载及构造函数
今天终于不讲狗跳楼的问题了,今天讲了方法,方法重载及构造函数及构造函数重载的课程了. 这里说了有参好无参的,下面讲构造函数重载和方法重载. 其实,这上面写的这些方法,就相当一个模板.想要快速做出产品就 ...
- 要想学好Java编程,构造器、方法重载、this关键字、垃圾回收机制,这4关一定要过!
有人说,你应该关注时事.财经,甚至流行的电影.电视剧,才有可能趁着热点写出爆文:有人说,你别再写“无聊”的技术文了,因为程序员的圈子真的很小,即便是像鸿洋那样的招牌大牛,文章是那么的干货,浏览量有多少 ...
- Java如何使用重载方法处理异常?
在Java编程中,如何使用重载方法处理异常? 此示例显示如何使用重载方法来处理异常.需要在每个方法中使用try catch块. package com.yiibai; public class Exc ...
- Java基础19-封装、方法重载、构造方法(构造函数)
1.封装 封装就是把不想或者不该告诉别人的东西隐藏起来,把可以告诉别人的公开 做法:修改属性的访问权限来限制对属性的访问.并为每一个属性创建一对取值方法和赋值方法,用于对这些属性的访问 class D ...
- Java基础03 构造器与方法重载(转载)
显式初始化要求我们在写程序时就确定初始值,这有时很不方便.我们可以使用构造器(constructor)来初始化对象.构造器可以初始化数据成员,还可以规定特定的操作.这些操作会在创建对象时自动执行. 定 ...
- 牛客网Java刷题知识点之方法覆盖(方法重写)和方法重载的区别
不多说,直接上干货! https://www.nowcoder.com/ta/review-java/review?query=&asc=true&order=&page=6 ...
随机推荐
- one:arguments对象伪数组
这是我的第一个博客 <script> //计算N个数字的和 //定义一个函数,如果不确定用户是否传入了参数,或者说不知道用户传入了几个参数,没办法计算, // 但是如果在函数中知道了参数的 ...
- Python学习8——魔法方法、特性和迭代器
Python中很多名称比较古怪,开头和结尾都是两个下划线.这样的拼写表示名称有特殊意义,因此绝不要在程序中创建这样的名称.这样的名称中大部分都是魔法(方法)的名称.如果你的对象实现了这些方法,他们将在 ...
- T100——取得系统参数值,如关帐日期
CALL cl_get_para(g_enterprise,g_site,'S-MFG-0031') RETURNING l_para_data 用此方法获取关帐日期
- CentOS7-部署kubernetes
1 环境准备 节点 主机名 IP OS Master k8s-master 192.168.57.1 centos 7 Node1 k8s-nod ...
- .Net高级工程师面试题
----------高级开发工程师岗位职责: 1.完成平台系统新功能模块开发,维护现有产品,独立地设计.开发.实现和测试关键系统: 2.负责公司项目核心代码的编写: 3.根据产品需求进行业务功能的开发 ...
- 怎样理解DOM
一句话总结: DOM 是一个 js 对象. 他可以赋予 js 控制 html 文档的能力. 全称: Document Object Model. DOM 的最小组成单位是: 节点 , 节点有7种类型 ...
- 怎样理解 MVVM ( Model-View-ViewModel ) ?
MVVM 的 产生 / 实现 / 发展 可以写一篇很长的博客了, 这里仅写一下个人对 MVVM的一些肤浅的认识. 1. 在 没有 MVVM 之前, 前端可以说是 jQuery一把梭 , jQuery ...
- element-ui table float类型数据排序失败
背景:对于16.88这样的数据,点击表头排序无效,仍然是乱序 解决办法:自定义排序方法,:sortable="true" :sort-mothod="xxxx" ...
- 【原创】大叔经验分享(72)mysql时区
查看当前时区 > show variables like '%time_zone%'; +------------------+--------+ | Variable_name | Value ...
- spring注解定时器
上一篇文章写了一个在配置文件中设置时间的定时器,现在来写一个注解方式的定时器: 1.工程结构如下: 2.需要执行的代码块: package com.Task; import org.springfra ...