千锋教育-做有情怀、有良心、有品质的职业教育机构

400-811-9990
手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆
当前位置:郑州千锋IT培训  >  技术干货  >  从零开始学Java36之方法的重载是咋回事

从零开始学Java36之方法的重载是咋回事

来源:千锋教育
发布人:lxx
时间: 2023-03-07 15:42:00

  一. 方法重载

  1. 概念

  所谓方法的重(chong)载(重复出现),就是指在一个类中可以有多个名称相同但参数不同的方法,不过方法重载与返回值的类型无关。在Java中,无论是普通方法,还是构造方法,都可以进行重载。我们在调用重载的方法时,会根据传递的参数不同,来执行不同的方法。

千锋教育

  通过方法的重载,我们就可以把一系列功能相似,但参数不同的方法,用同一个方法名进行定义。这样就避免了出现繁多的方法名,如果我们每次新建一个方法,就取个新的方法名,就会降低程序的可读性。使用同一个方法名称,我们就很容易记住这些方法,使用起来就很方便灵活。

  2. 要求

  根据方法重载的概念可知,方法重载时有如下要求:

  1. 同名不同参(参数类型、个数、顺序);

  2. 与返回值、访问修饰符无关。

  也就是说,方法重载时,要求方法的名称相同,但参数不同,只要参数的类型、个数、顺序有一个地方不同即可。但方法的重载与返回值和使用的访问修饰符没有关系

  我们可以自己进行重载方法的定义,当然java源码中也有大量的重载方法,比如我们常见的String类中就有,如下图所示:

3230f5b255ce733bfaeb68d0b549cca

  比如String字符串中就定义了多个indexOf()和lastIndexOf()重载方法,当然也有其他的重载方法。这些方法名称相同,但参数肯定不同,和返回值没有关系!

  说了这么多之后,接下来还是让我们通过一些案例看看方法的重载怎么实现吧。

  二. 代码案例

  1. 普通方法重载

  接下来我们设计一个案例,用于比较两个数字的大小。我们在比较两个数值时,数值的类型是不固定的,可能是两个int类型的数值,也可能是两个double类型的数值,也可能是两个double、一个int类型的数值......在这种情况下,我们就可以使用方法的重载来实现数值之间的比较。具体实现代码参考如下:

96fcc3805fb32852876b4c70257dfd8

d5cfc97e12410a29433e7ee5143830a

  以上代码,编译、运行都是完全没问题的。虽然3个max()方法名称相同,但它们的形参列表不同,所以系统可以正常区分出这3个方法。在运行时,Java虚拟机会根据传递过来的不同参数来调用不同的方法。

  2. 构造方法重载

  除了普通方法可以重载之外,构造方法也可以重载。但是我们要注意,构造方法没有返回值。

101c34b0cb871dab720dde07f3044ee

  我们在构造Car汽车类对象时,可以如下所示:

  

bba83eb36dad352c3bef504765e0d44

  这样通过传入不同的参数,就可以构造出不同的汽车对象。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

类的加载机制是什么

2023-03-21

如何定义Java变量?

2023-03-14

细节决定成败:探究Mybatis中javaType和ofType的区别

2023-03-09

最新文章NEW

java实现多线程的几种方式

2023-03-21

java编程spring框架的作用

2023-03-21

什么是java中的进制

2023-03-17

相关推荐HOT

更多>>

快速通道 更多>>

最新开班信息 更多>>

网友热搜 更多>>