1、什么是方法重载?
方法重载是指在一个类中定义多个同名的方法,但是要求每个方法具有不同的参数的类型或参数的个数。调用重载方法时,Java编译器能通过检查调用的方法的参数类型和个数选择恰当的方法。方法重载通常用于创建完成一组任务相似但参数的类型或参数的个数不同的方法。调用方法时通过传递给他们的不同个数和类型的实参来决定具体使用哪个方法。
2、什么情况下考虑使用方法重载呢?
在同一个类当中,如果多个功能是相似的,可以考虑将它们的方法名定义的一致,使用方法重载机制,这样便于程序员的调用,以及代码美观。
代码满足下面三个条件时,构成方法重载:
- 在同一个类中。
- 方法名相同
- 参数列表不同:个数不同算不同,顺序不用算不同,类型不同也算不同。
3、代码示例
public class Test{
//方法1
public static void doSome(int i){
}
//方法2
public static void doSome(double d){
}
//方法3
public static void doSome(int i, double d){
}
//方法4
public static void doSome(double d,int i){
}
//方法5
public static void doSome(double x,int y){
}
//方法6
public static int doSome(int i){
reutrn i;
}
//方法7
void doSome(int i){
}
}
方法4和方法5是一样的,不构成重载,起决定作用的是参数的数据类型,名字可以随意。方法6和方法1相同,方法的重载和方法的返回值没有关系。方法7和方法1也不构成重载,方法重载和修饰符无关。