在线客服
扫描二维码
下载博学谷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方法的相关知识点!
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
JavaEE学习基础:如何学习spring
Spring是Java开发中常用的一个框架,不仅仅可以用于服务器端的开发。从简单性、可测试性以及松耦合性角度而言,绝大部分的Java应用都可以从spring中收益。这也是为什么Java开发程序员都比较喜欢使用spring的原因。
10059
2019-05-17 17:19:23
Java基础 能不能自己写个类也叫 java.lang.String?
Java基础知识,能不能自己写个类也叫 java.lang.String?可以,但在应用的时候,需要用自己的类加载器去加载,否则,系统的类加载器永远只是去加载 jre.jar 包中的那个java.lang.String。
10729
2019-06-03 14:33:13
Git是什么?新手小白入门教程
本文是专门针对新手小白的入门教程,将用通俗易懂的方式讲解“Git是什么”,主要从版本控制、版本控制系统和仓库几方面来具体阐述。
9268
2019-08-09 15:24:33
Java8有什么变化?九大新特性
Java8有什么变化?本文将讲解Java8的九大新特性,它们分别是Java8Lambda 表达式、Java8方法引用、Java8函数式接口、Java8Nashorn JavaScript Java 8 默认方法、Java8Stream、Java8Optional 类、Java8日期时间API、Java8 Base64。
10486
2019-08-12 10:06:17
如何用Java查询个人信息?代码怎么写?
如何用Java查询个人信息?编程写好相应的规则,按照规则执行,在一定程度上大大提高了工作效率,在我们生活中的应用无处不在,当你面临公司大量的人员数据如何准确查询处理你想要的数据呢?
10260
2020-02-11 17:13:36
