在线客服
扫描二维码
下载博学谷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方法的相关知识点!
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
JavaWeb四大作用域,你都了解吗?
今天,小编要给大家详细解析JavaWeb四大作用域。四大作用域从小到大为:PageContext(jsp页面),ServletRequest(一次请求),HttpSession(一次会话),ServletContext(整个web应用)。相信大家对四大作用域并不陌生,不过大家真的都了解吗?
6965
2019-07-23 15:15:08
Java编程语言开发大数据的优势有哪些?
Java编程语言开发大数据的优势:Java语言支持各类组件、Java在物联网方面应用、Java移动领域应用、Java支撑超级计算机设备。GPU成为大多数速度最快的超级计算设备所不可或缺的处理器。Java“一次编写,随处起效”架构技术能够在工作站上开发自己的软件移植到系统当中。
4388
2020-03-30 17:55:17
JSP基础语法学习笔记总结
JSP作为一种动态网页开发技术,是以 Java 语言作为脚本语言,并且在服务端运行。因此,对于Java程序员来讲,掌握JSP基础语法是十分重要的。本文为大家总结了JSP基础语法学习笔记,内容包括了指令、注释和内置对象。下面让我们开始JSP基础语法的学习吧!
4462
2020-04-03 11:37:01
线程池的实现原理详解附源码
线程池作为存放线程的池子,能存放很多可以复用的线程。线程池的优点主要是可以降低系统资源消耗,提高响应速度以及提高线程的可管理性。本文将附上源码为大家详解线程池的实现原理。内容主要包括提交任务、创建线程、工作线程的实现原理和线程复用机制。
4940
2020-04-13 19:05:36
Java基础语法需要学习哪些知识?
Java基础语法内容包含java运行环境、HelloWorld案例、关键字&标识符、常量&变量、数据类型转换、运算符、方法入门、JDK9新特性-Jshell、选择结构-if语句-switch语句、循环结构-for-while-do..while、开发工具-IDEA、方法复习、方法重载、数组、描述类介绍与使用等内容。
3704
2020-12-01 14:53:05