方法的重载
java允许同一个方法对不同的调用条件作出不同的反应(多态)
同一个类中,方法名字相同,参数列表不同,则是方法重载。
1.参数列表个数的不同
2.参数列表数据类型的不同
3.参数列表的数据类型的顺序不一样(与形参名不一样)
4.与返回值无关
举例:
public String zhaZhi(String huangDou){
return "豆浆";
}
public String zhaZhi(String huangDou,String huaSheng){
return "花生豆浆";
}
public String zhaZhi(String huangDou,String huaSheng,String gouqi){
return "花生枸杞豆浆";
}
随堂案例
写一个求面积的方法,分别求出圆的面积,长方形的面积,三角形的面积,用方法重载实现?
package com.qf;
public class Area {
//圆面积
public double area(int r){
return 3.14*r*r;
}
//矩形面积
public int area(int a,int b){
return a*b;
}
//三角形面积
public double area(int a,double b){
return a*b/2;
}
public static void main(String[] args) {
//圆面积
int r = 10;
Area a = new Area();
double circle = a.area(r);
System.out.println("圆面积"+circle);
//长方形面积
int rectangle = a.area(5, 6);
System.out.println("矩形面积"+rectangle);
//三角形面积
double triangle = a.area(10, 3.68);
System.out.println("三角形面积"+triangle);
}
}
方法的重写
1.参数列表、方法名、返回值类型必须完全一致,构造方法不能被重写;声明static的方法不存在重写;访问权限不能比父类的访问权限更低;重写之后不能抛出更广泛的异常。