java方法的重载
◆重载就是在一个类中,有相同的函数名称,但形参不同的函数。
◆方法的重载的规则:
◆方法名称必须相同。
◆参数列表必须不同(个数不同、或类型不同、参数排列顺序不同等)。◆方法的返回类型可以相同也可以不相同。
◆仅仅返回类型不同不足以成为方法的重载。
◆实现理论:
方法名称相同时,编译器会根据调用方法的参数个数、参数类型等去逐个匹配,以选择对应的方法,如果匹配失败,则编译器报错。
public class Demo02 {
static int result=0;
public static double max(double num1,double num2){//比大小的max方法
double result=0;
if (num1==num2){
System.out.println("num1==num2");
return 0;
}
if(num1>num2){
result=num1;
}else{
result=num2;
}
return result;
}
public static int max(int num1,int num2){//比大小的max方法
if (num1==num2){
System.out.println("num1==num2");
return 0;
}
if(num1>num2){
result=num1;
}else{
result=num2;
}
return result;
}
//方法的重载方法名一样,但是里面的参数类型不同。返回值的类型也不同。
public static void main(String[] args) {
int max=max(8,4);//max方法的调用
//Java支持两种调用方法的方式,根据方法是否返回值来选择。当方法返回一个值的时候,方法调用通常被当做一个值
double Max=max(4,8);
System.out.println(max);
System.out.println("==================");
System.out.println(Max);
}
}
public class Deno03 {//方法的重载
public static int add(int a,int b,int c){
return a+b+c;
}
public static int add(int a,int b){
return a+b;
}
public static double add(double a, double b) {
return a+b;
}
public static void main(String[] args) {
int x=add(2,3);
int y=add(2,3,4);
double z=add(2.0,3.0);
System.out.println(x);
System.out.println(y);
System.out.println(z);
}
}
运行的结果:
D:\tool\jdk-12.0.2_windows-x64_bin\jdk-12.0.2\bin\java.exe "-javaagent:D:\IDEA1\IntelliJ IDEA 2020.2\lib\idea_rt.jar=58600:D:\IDEA1\IntelliJ IDEA 2020.2\bin" -Dfile.encoding=UTF-8 -classpath D:\IDEA1\javaSE\out\production\基础语法 Method.Deno03
5
9
5.0
Process finished with exit code 0