方法重载
概述:
方法的重载是java类中多个方法之间的一种统一描述,这多个方法必须要满足以下的特点:
1、方法名相同;
2、方法的参数不同,包括参数类型不同,参数的个数不同,参数的顺序不同。只要满足以上三条中的至少一条就可以认为方法的参数不同。
参数个数不同,如method(int x)与method(int x,int y)不同
参数类型不同,如method(int x)与method(double x)不同g
参数顺序不同,如method(int x,double y)与method(double x,int y)不同
注意:
判断方法是否重载只关心方法名是否相同以及方法参数是否不同,而不用去关注方法的返回值类型是否一致,也不用关注方法的修饰符是否相同,也不用关注参数名称是否相同。如果方法没有参数,也可以与其它有参数的同名方法形成重载关系。
例子:
public static void main(String[] args) {
//调用重载方法时,传入的参数是不同的,体现在个数,类型不同
area(10,6);
area(12,3.14);
area(7,9,4);
}
//以下定义多个具有重载关系的方法,计算不同开头的面积
public static void area(int length,int width){ //长方形
System.out.println("长方形的面积是:"+length*width);
}
public static void area(int r,double pi){ //圆形
System.out.println("圆形的面积是:"+pi*r*r);
}
public static void area(int top,int bottom,int hight){ //梯形
System.out.println("梯形的面积是:"+(top+bottom)*hight/2);
}
public static void area(){ //无参的方法也可以与其它方法形成重载的关系
System.out.println("特定的形状的面积是:"+"no");
}
判断哪些是重载?
public static void open(){}
public static void open(int a){} //重载,改变了参数数量
static void open(int a,int b){} //重载,改变了参数数量
public static void open(double a,int b){} //重载,改变了数据类型
public static void open(int a,double b){} //重载,改变了数据类型
public void open(int i,double d){} //非重载,重复的数据类型
public static void OPEN(){} //java区分大小,名称不同,非重载
public static void open(int i,int j){} //非重载,是重复的方法定义