重载(重新载选方法):

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

重载包括:普通方法的重载和构造方法的重载

方法:即函数(文中我们统称之为“方法”),是一个固定的一个程序段,或称其为一个子程序,它在可以实现固定运算功能。而且,同时还带有一个入口和一个出口,所谓的入口,就是函数所带的各个参数,我们可以通过这个入口,把函数的参数值传入子程序,供计算机处理;所谓出口,就是指函数的返回值,在程序段执行之后,由此返回值将值传回给调用它的程序。

通常地,一个类可以有多个重载方法 ,可根据不同的需求来设计类中不同的重载方法。其中,参数个数,类型,甚至不同类型参数的顺序等的的不同均为对同一个方法的不同重载。比如,如图,我们经常见到的String类就是一个及其典型的例子。

P.S. 此例也在纠正本人在上次分享经验时候犯下的一个可笑错误。再次查看标题,表示无误,是重载,没有写成重写。

方法/步骤

首先,我们先写一个完整的例子。这是一个最原始的方法,如图。以后各个步骤我们陆续进行学习,逐层深入地重载这个方法。

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

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

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

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

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

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

最后,我们总结一下,重载关心的只是参数,有参无参,参数类型不同,参数数量不同,不同类型的参数顺序不同,都可以实现方法的重载。

转载于:https://www.cnblogs.com/zhengshuheng/p/4793296.html

java怎样实现重载一个方法相关推荐

  1. java 需要返回类型_在Java中,当一个方法不需要返回数据时返回类型必须是

    [问答题]在滑动轴承中什么是瓦背?其特点有哪些? [多选题]起重机采用变频调速改造后,有哪些效果? [判断题]当热继电器动作不准确时,可用弯折双金属片的方法来调整. [单选题]X62W型万能铣床进给电 ...

  2. java中不允许一个方法在自身定义的内部调用自己_Java面向对象三大特性(基础篇)...

    面向对象简称 OO(Object Oriented),20 世纪 80 年代以后,有了面向对象分析(OOA). 面向对象设计(OOD).面向对象程序设计(OOP)等新的系统开发方式模型的研究. 对语言 ...

  3. java两个return_关于java:调用另一个方法时return语句不起作用

    我最近开始尝试使用return语句,对此我有一个小疑问-当我有一个调用另一个方法的方法时,将显示我正在调用的方法的return语句吗? 让我们举例说明一下 /** Program to test re ...

  4. java方法中与参数怎么调用,java中怎么从一个方法中调用另一个方法中的参数?(以及如何提取数字)...

    一.使用动态方法 public int comparisonOfTotalVehicles (WebDriver webDriver)throws InterruptedException{ WebE ...

  5. java义一个方法,返回一组双色球票数

    java义一个方法,返回一组双色球票数 import java.util.Arrays;/*** 定义一个方法,返回一组双色球票数* 双色球规则* 前六位,红球 1-33 不能重复,升序排列* 最后一 ...

  6. java中如何定义一个_java中如何定义一个方法

    java中如何定义一个方法 发布时间:2020-06-20 16:39:15 来源:亿速云 阅读:88 作者:Leah java中如何定义一个方法?相信很多新手小白还没学会这个技能,通过这篇文章的总结 ...

  7. Java 重写与重载

    方法的重写: 重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变. 重写的好处在于子类可以根据需要,定义特定于自己的行为. 也就是说子类能够根据需要实现父类的方法. 重写 ...

  8. Java黑皮书课后题第7章:7.8(求数组的平均值)使用下面的方法头编写两个重载的方法,返回数组的平均数。编写一个测试程序,提示用户输入10个double型值,然后调用这个方法显示平均值

    7.8(求数组的平均值)使用下面的方法头编写两个重载的方法,返回数组的平均数.编写一个测试程序,提示用户输入10个double型值,然后调用这个方法显示平均值 题目 题目描述 破题 代码 运行实例 题 ...

  9. java 如何循环执行一个对象_Java基础:如何定义好一个方法和进行方法重载

    方法就是定义在类中的具有特定功能的一段独立小程序,可以完成特定功能的代码块 在很多语言里都有函数的定义 函数在java中也称为方法 格式: 修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参 ...

最新文章

  1. Windows下安装Mongodb SpringBoot集成MongoDB和Redis多数据源
  2. function “printf“ declared implicitly
  3. ubuntu16.04/20.04 xfce4下面使用护眼软件redshift
  4. 爬取淘宝定价需要多久时间_如何对设计工作进行定价—停止收​​取时间并专注于价值
  5. java 继承 实现 会重写 方法吗_java 中继承,组合,重载,重写的实现原理 (转)...
  6. android p安装教程,Android SDK的安装教程
  7. 【Spring学习】01
  8. mysql 数据目录更换_更改Mysql数据目录,这个坑你可能也趟过~
  9. mysql数据库需求分析工具_一份全面的“数据库设计需求分析”是怎样的?
  10. flyway版本号_各个互联网公司都在用的开源数据库控制器Flyway
  11. Android环境下的GDB调试
  12. 异步将远程链接上的内容(图片或内容)写到本地--微信头像
  13. GVS与唯康教育达成战略合作,共建智能家居人才培养高地
  14. 栈的链式表示+判断表达式括号是否配对
  15. TOPcoder准备
  16. word2010 2003公式编辑器 格式设置
  17. 第三章 眼睛的目视光学系统
  18. 单向链表和双向链表的优缺点及使用场景
  19. Python自动化第二周之数据模块
  20. DSP28377S_程序从FLASH部分复制到RAM中运行详解

热门文章

  1. mysql 访问速度_操作mysql第一次访问速度慢(远程)
  2. Filebeat 输出日志时添加客户端 IP 地址(引用变量)
  3. java对象比较 hashcode_java基础----比较对象 hashcode 与 equals 与 ==
  4. 2022牛客寒假算法基础集训营2 签到题7题
  5. for循环执行 mybatis_MyBatis 插件机制详解
  6. 取石子游戏(斐波那契博弈)
  7. C/C++编程(尾积相乘)
  8. UnityShader20:CommandBuffer初见(上)
  9. HDU 6191 2017广西邀请赛:Query on A Tree(字典树启发式合并)
  10. C++文件读写 ifstream ofstream 完成复制文件功能