接收返回值
具有返回值的方法在调用后,是不是一定要对返回值进行接收呢?当然不是必须的,如果不接收,方法的值也会正常返回,只不过随即被丢弃了而已 。接收时将方法调用语句看成一个整体,直接用对应类型的变量赋值接收即可 。
四、方法的重载
<span id=”jump”></span>
1. 重载的概念
重载指的是在一个类中,可以定义多个同名的方法,区别在于参数列表不同 。对于重载的概念还是很好理解的,无非是描述了一种现象,在一个类中存在了很多名字相同的方法,大家需要掌握的就是如何定义才符合重载的规则,以及重载有什么用?
方法名称相同,参数列表不同
不要看这个概念简单,还是有很多同学在此翻车 。方法名称相同很好理解,完全一致的才叫做相同,这里对大小写敏感 。另外一个概念是:参数列表不同,大家一定要注意,参数列表相同与否,是靠参数类型以及排列顺序来决定的,与参数名称无关 。因为参数列表中声明的参数名称只是传入参数的一个代表,并不具备什么具体的区分意义 。
public class Test{
// 求两个整数和的方法:plus
public int plus(int a,int b){
return a + b;
}
// 参数列表相同,不构成重载,不能在类中同时存在
public int plus(int c,int d){
return c + d;
}
// 参数列表不同,构成重载
public double plus(double a,double b){
return a + b;
}
// 参数列表不同,构成重载,但是不定参数容易构成调用的歧义,不推荐
public int plus(int… a){
return 0;
}
// 参数列表相同,方法名称不同,不构成重载,可以在类中同时存在
public int Plus(int a,int b){
return a + b;
}
}
方法重载有什么用?
在很多时候,我们使用方法完成一个功能或逻辑,存在很多种情况,有些情况来自于代码逻辑处理的过程中,也有些情况是要对不同的参数类型做出不同的操作 。这个时候我们就可以利用重载的特点,用相同的方法名代表我们要处理的逻辑是类似的,然后在参数列表中声明不同的参数类型,这样就可以避免我们在方法中再繁杂的写各种参数个数的判断,参数类型的判断,更加利于维护 。同时,使用相同的方法类型,也使得使用者在调用时变得十分方便,不需要在同一功能上记忆各种不同的方法名称,同时又能很好的解决问题 。
2. 重载方法的调用
对于重载方法的调用,由于方法名称相同,jvm主要就是根据传入的参数类型来进行区分,效果如下:
public class Test{
public static void main(String[] args){
int a = 1,b = 2;
int c = plus(a,b);// 调用plus(int a,int b)
double m = 1.0,n = 2.0;
double d = plus(m,n);// 调用plus(double a,double b)
}
// 求两个整数和的方法:plus
public static int plus(int a,int b){
return a + b;
}
// 方法名相同,参数列表不同,构成重载
public static double plus(double a,double b){
return a + b;
}
}
从上面的例子我们可以看到,在执行方法调用时主要是通过参数类型来进行区分的 。但是当方法中出现不定参数时要尤为注意:
public class Test{
public static void main(String[] args){
int a = 1,b = 2,c = 3;
int d = plus(a);// 编译失败,与plus(int… a)和plus(int a,int… b)都匹配
int e = plus(a,b);// 编译成功,调用plus(int a,int b)
int f = plus(a,b,c);// 编译失败,与plus(int… a)和plus(int a,int… b)都匹配
int g = plus(new int[]{a,b});// 编译成功,调用plus(int… a)
int h = plus(a,new int[]{b,c});// 编译成功,调用plus(int a,int… b)
推荐阅读
- 正宗糖蒜的腌制方法比例是怎样的呢
- 面向对象方法的基本思想 面向对象设计思想是什么
- 300m无线宽带路由器设置方法 如何拨号上网连接
- 大数据码获取方法 目前开源免费数据库有哪些
- 电脑蓝屏正确修复方法 电脑开机后蓝屏怎么办
- 青椒皮蛋制作方法
- 电脑开不了机最简单的解决方法 主机启动不起来怎么回事
- linux联网最简单方法 linux如何查看端口号及其状态
- 打印机喷头堵塞解决方法 彩色打印机如何清洗喷头
- 辐射76怎么安装MOD 安装MOD方法介绍
