在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
Java中存在着一种多态——重载,即一个类中可以有多个方法具有相同的名字。本文要来和大家梳理的正是关于Java方法重载的学习总结,下面让我们一起来好好认识一下Java方法重载,再做一做相关练习题吧~
1、方法重载概念
方法重载指同一个类中定义的多个方法之间的关系,满足下列条件的多个方法相互构成重载。多个方法在同一个类中,多个方法具有相同的方法名,多个方法的参数不相同,类型不同或者数量不同。
(1)注意:
重载仅对应方法的定义,与方法的调用无关,调用方式参照标准格式。重载仅针对同一个类中方法的名称与参数进行识别,与返回值无关,换句话说不能通过返回值来判定两个方法是否相互构成重载。
(2)正确范例:
```java
public class MethodDemo {
public static void fn(int a) {
//方法体
}
public static int fn(double a) {
//方法体
}
}
public class MethodDemo {
public static float fn(int a) {
//方法体
}
public static int fn(int a , int b) {
//方法体
}
}
```
(3)错误范例:
```java
public class MethodDemo {
public static void fn(int a) {
//方法体
}
public static int fn(int a) { /*错误原因:重载与返回值无关*/
//方法体
}
}
public class MethodDemo01 {
public static void fn(int a) {
//方法体
}
}
public class MethodDemo02 {
public static int fn(double a) { /*错误原因:这是两个类的两个fn方法*/
//方法体
}
}
```
2、方法重载练习
(1)需求:使用方法重载的思想,设计比较两个整数是否相同的方法,兼容全整数类型(byte,short,int,long)
(2)解决思路:
①定义比较两个数字的是否相同的方法compare()方法,参数选择两个int型参数
②定义对应的重载方法,变更对应的参数类型,参数变更为两个long型参数
③定义所有的重载方法,两个byte类型与两个short类型参数
④完成方法的调用,测试运行结果
(3)代码实现:
```java
public class MethodTest {
public static void main(String[] args) {
//调用方法
System.out.println(compare(10, 20));
System.out.println(compare((byte) 10, (byte) 20));
System.out.println(compare((short) 10, (short) 20));
System.out.println(compare(10L, 20L));
}
//int
public static boolean compare(int a, int b) {
System.out.println("int");
return a == b;
}
//byte
public static boolean compare(byte a, byte b) {
System.out.println("byte");
return a == b;
}
//short
public static boolean compare(short a, short b) {
System.out.println("short");
return a == b;
}
//long
public static boolean compare(long a, long b) {
System.out.println("long");
return a == b;
}
}
```
以上就是有关于Java方法重载的学习总结,大家都看懂了吗?如果对于Java方法重载还有任何疑问,可以申请下方的试学名额,深入学习Java方法的相关知识点!
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
Dubbox和Dubbo哪个好?为什么?
Dubbox和Dubbo哪个好?其实Dubbox和Dubbo都是很好的服务框架,简单来说,Dubbox和Dubbo本质上没有区别,Dubbox是Dubbo的升级版本。这样说来,好像Dubbox更好一些,为什么?毕竟它是升级的版本,扩展了Dubbo没有的内容。现在,我们来详细分析一下它们两者的区别吧!
12907
2019-08-06 10:12:07
TLAB线程本地分配缓存区是什么?TLAB工作原理分析
TLAB线程本地分配缓存区是什么?工作原理分析,TLAB全称Thread Local Allocation Buffer,即线程本地分配缓存区,是一个线程专用的内存分配区域。在线程初始化时,虚拟机会为每个线程分配一块TLAB空间,只给当前线程使用。
8176
2020-03-17 15:26:25
如何安装数据库?教程步骤图解
MySQL数据库是储存数据的仓库,它是一文件的方式存在于电脑上的。那么,如何安装数据库呢?本文将手把手教大家如何安装,下面一起来看看数据库安装教程的步骤图解吧~
10692
2020-07-09 10:50:59
Java面授班和Java在线学习班哪个更好?
近年来,通过Java培训班进入互联网Java技术岗位成为求职者以及企业双双认可的途径。多种不同的学习途径为求学的小伙伴创造了更多的学习机会。对于想学习Java的同学而言,应该参加Java面授班,还是参加Java在线学习班?两者有什么区别和优劣呢?
4515
2020-07-24 16:06:23
分页查询怎么用?为什么要用分页查询?
分页查询怎么用?为什么要用分页查询?查询数据时,数据量大一页容不下,后台查询部分数据而不是全部数据,同时降低带宽的使用提高访问速度。
4733
2022-01-13 15:42:17