Java基础学习:6、方法的重载和可变参数
一、方法重载:
基本介绍:
Java中允许在一个类中,多个同名方法的存在,到要求形参列表不一致。
注意事项:
1、方法名:必须一致。
2、形参列表:必须不同(形参类型或个数或顺序至少有一样不同,参数名无要求:int n 和 int a 是一样的)。
3、返回类型:无要求。
重载的意义:
1、减轻了起名的麻烦。
2、减轻了记名的麻烦。
public class Overload {
public static void main(String[] args) {
Methods methods = new Methods();
int cal1 = methods.cal(12);
int cal2 = methods.cal(12,22);
String cal3 = methods.cal("hello");
System.out.println(cal1 + " " + cal2 + " " + cal3);
}
}
class Methods{
public int cal(int n) {
return n * n;
}
public int cal(int n1, int n2) {
return n1 * n2;
}
public String cal(String str) {
return str;
}
}
二、可变参数:
定义:就是方法的参数的个数是可变的。
public class Overload {
public static void main(String[] args) {
Methods methods = new Methods();
int sum = methods.sum(1,2,3,4,5);
System.out.println(sum);
}
}
class Methods{
/*
1、int... 表示接收的是可变参数,类型为int,即可以接收任意个int类型参数。
2、使用可变参数是可以当做数组来使用,即nums 可以当做数组。
3、遍历nums求和即可。
* */
public int sum(int... nums) {
int res = 0;
for (int i = 0; i < nums.length; i++) {
res+=nums[i];
}
return res;
}
}
使用细节:
1、可变参数的实参可以是0或者任意多个。
2、可变参数的实参可以为数组,可变参数的本质就是数组。
public class Overload {
public static void main(String[] args) {
Methods methods = new Methods();
int[] arr = {1, 2, 3};
int sum = methods.sum(arr);
System.out.println(sum);
}
}
class Methods{
public int sum(int... nums) {
int res = 0;
for (int i = 0; i < nums.length; i++) {
res+=nums[i];
}
return res;
}
}
3、可变参数可以和普通类型参数一起放在形参列表,但必须保证可变参数在最后。
public int sum(int n1, int n2 ,int... nums) {
int res = 0;
for (int i = 0; i < nums.length; i++) {
res+=nums[i];
}
return res;
}
4、一个形参列表中只能出现一个可变参数。