重载
定义:java中允许同一个类中,有多个同名方法的存在,但要求形参列表不一致,被称为方法的重载
使用细节:
1.方法名:必须相同;
2.参数列表:必须不同(形参类型或个数或顺序至少有一个不一样);
3.返回类型:无要求
public class Study {
public static void main(String[] args) {
MyCalculator mc=new MyCalculator();
System.out.println(mc.calculate(1,2));
System.out.println(mc.calculate(1,1.5));
System.out.println(mc.calculate(1.5,1));
System.out.println(mc.calculate(1,2,3));
}
}
class MyCalculator {
public int calculate(int n1, int n2) {
return n1 + n2;
}
public double calculate(int n1, double n2) {
return n1 + n2;
}
public double calculate(double n1, int n2) {
return n1 + n2;
}
public int calculate(int n1,int n2, int n3) {
return n1 + n2 + n3;
}
}
可变参数
概念:Java允许将同一个类中多个同名同功能但参数个数不同的方法,封装成一个方法
基本语法:访问修饰符 返回类型 方法名(数据类型...形参名)
public class Study {
public static void main(String[] args) {
HspMethod method=new HspMethod();
System.out.println(method.sum(1,2,3,4));
}
}
class HspMethod{
//1.int... 表示接受的是可变参数,类型是int,即可以接受多个int
//2.使用可变参数时,可以当作数组来使用,即nums可当作数组
public int sum(int... nums){
int res=0;
System.out.println("接受的参数个数"+nums.length);
for(int i=0;i< nums.length;i++){
res+=nums[i];
}
return res;
}
}
使用细节:
1.可变参数的实参可以为0个或任意多个
2.可变参数的实参可以为数组
3.可变参数的本质就是数组
4.可变参数可以和普通类型的参数一起放在形参列表,但必须保证可变参数在最后
5.一个形参列表中只能出现一个可变参数