一:基本介绍
java 中允许同一个类中,多个同名方法的存在,但要求 形参列表不一致!
比如: System.out.println(); out 是 PrintStream 类型
:::danger
优点:
减轻了起名与记名的麻烦
:::
二:注意事项和细节
- 方法名:必须相同
- 形参列表:必须不同(形参类型或者个数或顺序,至少有一样不同,参数名无要求)
- 返回类型:无要求
calculate(int n1, int n2) //两个整数的和calculate(int n1, double n2) //一个整数,一个 double 的和calculate(double n2, int n1)//一个 double ,一个 Int 和calculate(int n1, int n2,int n3)//三个 int 的
三:练习
- 判断
四:可变参数
1:基本介绍
java允许将一个类中多个同名同功能但参数个数不同的方法,封装成一个方法
2:基本语法
/*访问修饰符 返回类型 方法名 (数据类型.... 形参名) {}*///1. int... 表示接受的是可变参数,类型是 int即可以接收多个 int(0-多)//2. 使用可变参数时,可以当做数组来使用 即 nums 可以当做数组//3. 遍历 nums/*** 作者:sakura* 日期:2022年07月28日 23:51*/public class method {public static void main(String[] args) {help help = new help();System.out.println(help.sum(1,2,3,4));}}class help{public int sum (int... nums){int res = 0;for(int i = 0;i<nums.length;i++){res += nums[i];}return res;}}
3:注意事项和细节
可变参数的实参可以为0个或任意多个。
public static void main(String[] args) {help help = new help();System.out.println(help.sum(1,2,3,4));System.out.println(help.sum(4));}class help{public int sum (int... nums){int res = 0;for(int i = 0;i<nums.length;i++){res += nums[i];}return res;}}
可变参数的实参可以为数组。
public static void main(String[] args) {int[] arr = {1, 2, 3};T t1 = new T();t1.f1(arr);}class T{public void f1(int... nums) {System.out.println("长度=" + nums.length);}}
可变参数的本质就是数组.
- 可变参数可以和普通类型的参数一起放在形参列表,但必须保证可变参数在最后 ```java public void f2(String str, double… nums) {
}
- **_一个形参列表中只能出现一个可变参数_**```java//下面为错误写法,只能出现一个可变参数fpublic void f3(int... nums1, double... nums2) {}
4:练习

