/* 方法重载
java允许同一个类中,多个同名的方法存在,但要求形参列表不一致
如:System.out.println(),out是PrintStream类型,可以输出不同类型的数据
重载的好处:减轻了起名、记名的麻烦
相关细节
1.方法名必须相同
2.参数列表必须不同(形参类型、个数、顺序至少有一样不同,参数名无要求)
3.返回类型无要求
*/
/* 判断题
与void show(int a,char b,double c){}构成重载的有: 2,3,4,5
1. void show(int x,char y,double z){}
2. int show(int a,double c,char b){}
3. void show(int a,double c,char b){}
4. boolean show(int c,char b){}
5. void show(double c){}
6. double show(int x,char y,double z){}
7. void shows(){}
*/
/* 编写程序
类Method中定义三个重载方法并调用。方法名为m三个方法分别接收
一个int参数、两个int参数、一个字符串参数。分别执行平方运算、相乘、输出字符串信息
在主类的main()方法中分别用参数的区别调用三个方法
*/
public class OverLoad{
public static void main(String[] args){
Method m1 = new Method();
m1.m(5);
m1.m(10,5);
m1.m("黄");
}
}
class Method{
public void m(int a){
System.out.println("平方=" + (a * a));
}
public void m(int a,int b){
System.out.println("两个数的乘积=" + (a * b));
}
public void m(String a){
System.out.println("String=" + a);
}
}
/* 在Methods类定义三个重载方法max(),第一个方法返回两个int中最大值
第二个方法返回两个double中最大值,第三个方法返回三个double最大值
分别调用三个方法
*/
public class OverLoad{
public static void main(String[] args){
Method m2 = new Method();
System.out.println(m2.max(10, 66));
System.out.println(m2.max(10.2, 66.6));
System.out.println(m2.max(1.5, 66, 66.66));
}
}
class Method{
public int max(int a,int b){
return a > b ? a : b;
}
public double max(double a,double b){
return a > b ? a : b;
}
public double max(double a,double b,double c){
double max1 = a > b ? a : b;
return max1 > c ? max1 : c;
}
}