在JAVA程序中,有一个很重要的东西叫重载,这个在工作中,常常用到,今天加过头写了几个DEMO,做一下备忘。
什么是重载方法;
1:方法名相同,参数个数不同。代码如下
//重载
public static void main(String[] args){
//重载方法:1、方法名相同,参数个数不同
int result = getMaxNum(5,10); //为里调用的是getMaxNum(int a,int b)方法
System.out.println("两个数的最大值为:"+result);
result = getMaxNum(4,98,234);
System.out.println("三个数中的最大值为:"+result);
}
public static int getMaxNum(int a,int b){
return a > b ? a:b;
}
public static int getMaxNum(int a,int b,int c){
int result = getMaxNum(a,b);
result = getMaxNum(result,c);
return result;
}2.方法名相同,参数类型不同。代码如下
//重载
public static void main(String[] args){
//重载方法:2、方法名相同,参数类型不同
int result = getMaxNum(5,10); //为里调用的是getMaxNum(int a,int b)方法
System.out.println("两个数的最大值为:"+result);
double result1 = getMaxNum(99.99d,98);
System.out.println("两个不同类型数中的最大值为:"+result1);
}
public static int getMaxNum(int a,int b){
return a > b ? a:b;
}
public static double getMaxNum(double a,int b){
return a > b ? a:b;
}
3.重载方法,与返回值类型无关。代码如下
//重载
public static void main(String[] args){
//重载方法:3、与返回值类型无关
int result = getMaxNum(5,10); //为里调用的是getMaxNum(int a,int b)方法
System.out.println("两个数的最大值为:"+result);
double result1 = getMaxNum(33,98);
System.out.println("两个不同类型数中的最大值为:"+result1);
}
public static int getMaxNum(int a,int b){
return a > b ? a:b;
}
public static void getMaxNum(int a,int b){
int result = a > b ? a:b;
System.out.println("第二个方法中的比较出来的最大值 为:"+result);
}结果如下:
错误: 已在类 Demo7中定义了方法 getMaxNum(int,int)
public static void getMaxNum(int a,int b){
^
1 个错误注意,不同之处理在于:
第一个方法的返回值为int (int getMaxNum(int a,int b))
第二个方法是没有返回值 的 (void getMaxNum(int a,int b))
从这里,可以看出,重载主要在于参数的个数和参数类型的不同,与返回值是无关的。
本文详细介绍了Java中的方法重载概念,包括方法名相同但参数个数不同的情况、方法名相同但参数类型不同的情况,以及如何正确理解方法的返回值类型在重载中的作用。

被折叠的 条评论
为什么被折叠?



