三、方法重载
重载就是在一个类中,有相同的函数名称,但形参不同的函数。
方法的重载的原则:
- 方法名称必须相同;
- 参数列表必须不同(个数不同、或者类型不同、参数排列顺序不同等)
- 方法的返回类型可以相同也可以不同
- 仅仅返回类型不同不足以成为方法的重载。
实现理论:方法名称相同时,编译器会根据调用方法的参数个数、参数类型等逐个去匹配,以选择对应的方法,如果匹配失败,则编译器报错。
package com.song.method;
public class Demo02 {
public static void main(String[] args) {
int max = max(10, 20);
System.out.println(max);
double m = max(10.0, 20.0);
System.out.println(m);
}
//比大小
public static int max(int num1, int num2) {
int result = -1;//需要被初始化
if (num1 == num2) {
System.out.println("num1==num2");
return 0;//用来终止方法
}
if (num1 > num2) {
result = num1;
} else {
result = num2;
}
return result;
}
//比大小
public static double max(double num1, double num2) {
double result = -1;//需要被初始化
if (num1 == num2) {
System.out.println("num1==num2");
return 0;//用来终止方法
}
if (num1 > num2) {
result = num1;
} else {
result = num2;
}
return result;
}
}
package com.song.method;
public class Demo01 {
//main方法
public static void main(String[] args) {
//实际参数:实际调用传递给方法的参数
int sum = add(1, 2);//加了static之后,add方法可以直接用
System.out.println(sum);
int sum2 = add(1, 2, 3);
System.out.println(sum2);
test();
}
//加法
//形式参数,用来定义作用
public static int add(int a, int b) {
return a + b;
}
public static int add(int a, int b, int c) {
return a + b + c;
}
}