在线客服
扫描二维码
下载博学谷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方法的相关知识点!
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
Java基础 用 Java怎么实现一种排序?
用 JAVA怎么实现一种排序,冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。
6988
2019-06-05 18:02:46
Java基础学习:面向过程与面向对象
刚开始学编程的时候都会遇到一个思维转变的过程,从原来人类思维模式转变成机器可以接受的思维模式。这个过程是非常难的,这也是为什么互联网人才能够获得高薪的原因。对于Java学习,面向过程可能更接近人的正常思维,而面向对象思维就是一个巨大的挑战了。本文就和大家聊一聊关于面向过程和面向对象的优劣。
7250
2019-06-24 18:35:01
网络编程如何快速入门?
对于零基础的IT初学者来讲,网络编程是必须掌握的基础知识。那么,网络编程如何快速入门呢?本文将为大家介绍一下博学谷的免费在线课程《快乐的Java网络编程》,该课程只用两小时就能带大家轻松学习网络编程三要素、UDP通信和TCP通信等核心知识,下面一起来了解一下课程的详细内容吧!
5072
2020-06-29 16:18:08
Java开发中的I/O模型原理解析
Java开发中的I/O模型原理解析,I/O是 input/output的缩写即输入输出端口。每个设备都会有一个专用的I/O地址用来处理自己的输入输出信息。常见的五种IO模型分别是:阻塞IO、非阻塞IO、多路复用IO、信号驱动IO以及异步IO。
3791
2021-05-13 09:59:24
JavaEE就业班课程怎么样?有哪些优势?
Java就业班是博学⾕重磅推出的⾼端课程产品,在保证学习效果的前提下通过个性化的私⼈订制学习路径,制定⾼效的学习计划,提升学习效率,缩短学习周期以学习效果为保障。
2817
2022-09-29 16:42:05