🎈 有些时候我们需要用一个函数同时兼容多种参数的情况, 我们就可以使用到方法重载
重载的规则 :
针对同一个类:
1.方法名相同
2.方法的参数不同(参数个数或者参数类型)
3.方法的返回值类型不影响重载
列题一 :
求最大值方法的重载
在同一个类中定义多个方法:要求不仅可以求两个整数的最大值,还可以求两个小数的最大值,以及两个小数和一个整数的大小关系
代码如下 :
public static int max(int a,int b){
return a>b?a:b;
}
public static double max(double a,double b){
return a>b?a:b;
}
public static double max(double a,double b,int c){
return max(a,b)>c?max(a,b):c;
}
public static void main(String[] args) {
System.out.println("请输入要比较的数字个数:");
Scanner scanner=new Scanner(System.in);
int num=scanner.nextInt();
if (num==2){
System.out.println("请输入要比较的数字");
int a=scanner.nextInt();
int b=scanner.nextInt();
System.out.println(max(a, b));
double c=scanner.nextDouble();
double d=scanner.nextDouble();
System.out.println(max(c, d));
}
if (num==3){
System.out.println("请输入要比较的数字");
double a1=scanner.nextDouble();
double b1=scanner.nextDouble();
int c1=scanner.nextInt();
System.out.println(max(a1, b1, c1));
}
}
运行如下:
当两个方法的名字相同, 参数也相同, 但是返回值不同的时候, 不构成重载.
例题 2 :求和的重载
在同一个类中,分别定义求两个整数的方法 和 三个小数之和的方法。 并执行代码,求出结果
代码如下 :
import java.util.Scanner;
public class TestDemo {
public static int sum(int a,int b){
return a+b;
}
public static double sum(double c,double d,double e){
return c+d+e;
}
public static void main(String[] args) {
System.out.println("请输入要计算的数字个数 :");
Scanner scanner=new Scanner(System.in);
int num=scanner.nextInt();
if(num==2){
System.out.println("请输入两个整数“:");
int a=scanner.nextInt();
int b=scanner.nextInt();
int sum1=sum(a,b);
System.out.println("和为:"+sum1);
}
else if (num==3){
System.out.println("请输入三个小数");
double c=scanner.nextDouble();
double d=scanner.nextDouble();
double e=scanner.nextDouble();
double sum2= sum(c,d,e);
System.out.println("和为:"+sum2);
}
else {
System.out.println("输入不规范,请重新输入");
}
}
}
关于Java中方法的重载以及相应例题就介绍到这 , 如果大家觉得对自己有所帮助,欢迎多多点赞收藏 ~