【1】什么是方法的重载:
方法的重载是在一个类中可以定义多个方法名相同,但参数不同的方法。调用时,会根据不同参数自动匹配对应的方法。
本质:重载的方法,实际是完全不同的方法,仅仅是名称相同。
【2】构成方法重载的条件
(1)不同的含义:形参类型,形参个数,形参的顺序不同
(2)只有返回值不同不构成方法的重载
eg:int a(String str){}与 void a (String str){}不构成方法的重载
(3)只有形参的名称不同,不构成方法的重载
eg:int a(String str){}与int a(String s){}不构成方法的重载
【3】代码的演示
public class TestMethod06{ public static void main(String[] args){ //10+20 int
sum = add(10,20); System.out.println(sum); //10+20+30
System.out.println(add(10,20,30)); //20+40+60+80
System.out.println(add(20,40,60,80)); //9.9+0.1
System.out.println(add(9.9,0.1)); } //定义一个方法,两个数相加: public static int add(int
num1,int num2){ return num1+num2; } //定义一个方法,三个数相加 public static int add(int
num1,int num2,int num3){ return num1+num2+num3; } //定义一个方法,四个数相加 public static
int add(int num1,int num2,int num3,int num4){ return num1+num2+num3+num4; }
//定义一个方法:两个数相加,两个double类型的数相加 public static double add(double num1,double
num2){ return num1+num2; } } //同一个类中可以存在方法名相同的多个方法 //方法名相同,形参列表不同,这些方法就构成了方法的重载
//方法名(eg:add) 形参列表(eg:int num1,double num2)
总结:
1.方法的重载:在同一个类中,方法名相同,形参列表不同的多个方法,构成了方法的重载
2.方法的重载只跟方法名和形参列表有关,与修饰符,返回值类型无关
3.注意:形参列表不同指的是什么?
(1)个数不同
add() add(int num1) add(int num1,int num2)
(2)顺序不同
add(int num1,double num2) add(double num1,int num2)
(3)类型不同
add(int num1) add(double num1)
4.请问下面的方法是否构成方法的重载?
(1)add(int a) 和 add(int b) ---->不构成,相当于方法的重复定义
(2)public static int add(int a) 和 public static void add(int a) ----->不构成