来,继续啊,我们学习方法中一个非常重要的特性:方法重载。
首先,我们来说一下,什么是方法重载。
方法重载:指同一个类中定义的多个方法之间的关系,满足下列条件的多个方法相互构成重载
如下图:
知道了什么是方法重载后,我们来说一下方法重载的特点:
如下图:
知道了方法重载及其特点后,我们到IDEA中去体验一下:
xxxxxxxxxx
/*
方法重载:
多个方法在同一个类中
多个方法具有相同的方法名
多个方法的参数不相同,类型不同或者数量不同
调用方法的时候,Java虚拟机会通过参数的不同来区分同名的方法
*/
public class MethodDemo {
public static void main(String[] args) {
//调用方法
int result = sum(10, 20);
System.out.println(result);
double result2 = sum(10.0, 20.0);
System.out.println(result2);
int result3 = sum(10, 20, 30);
System.out.println(result3);
}
//需求1:求两个int类型数据和的方法
public static int sum(int a,int b) {
return a + b;
}
//需求2:求两个double类型数据和的方法
public static double sum(double a,double b) {
return a + b;
}
//需求3:求三个int类型数据和的方法
public static int sum(int a,int b,int c) {
return a + b + c;
}
}
讲解完毕后,大家赶快动手练习一下吧。
需求:使用方法重载的思想,设计比较两个整数是否相等的方法,兼容全整数类型(byte,short,int,long)
比较整数是否想等,前面我们已经做过了,这里只不过是写几个重载的方法而已,基本思路讲解过了,这里就不在讲解了,我们直接到idea中去实现
xxxxxxxxxx
/*
需求:使用方法重载的思想,设计比较两个整数是否相等的方法,兼容全整数类型(byte,short,int,long)
*/
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;
}
}
讲解完毕后,大家赶快动手练习一下吧。