Android-方法重载

什么是Java方法重载? Java方法重载是什么意思?

在Java中,同一个类中的2个或2个以上的方法可以有相同的名字,只要它们的参数声明不同即可。在这种情况下,该方法就被称为重载(overloaded),这个过程被称为方法重载(method overloading)。方法重载是Java实现多态性的一种方式。

当一个重载法方法被调用时,Java用参数的类型和(或)数量来表明实际调用的重载方法的版本。因此,每个重载方法的参数的类型和(或)数量必须是不同的。虽然每个重载方法可以有不同的返回类型,但返回类型并不足以区分所使用的是哪个方法。当Java调用一个重载方法时,参数与调用参数匹配的方法被执行。

public class Test{

public void a( ){

};

public void a( int i){

};

}

说明:在Test类中有两个方法,名字都相同,都是a。在调用方法a时,如果不传参数,则系统会自动调用第一个方法a,如果传入一个 int 类型的参数,则系统调用第二个方法a。

public class Test{

public void a(int i){

};

public void a(String j){

};

}

说明:在Test类中有两个同名的方法a。在调用方法时,如果传入一个int类型的参数,则会自动调用第一个a方法,如果传入一个String类型的参数,则会自动调用第二个方法a。

public class Test{

public void a(int i,String j){

}

public class a(String j,int i){

}

}

说明:在Test类中有两个同名的方法。在调用方法时,如果传入的第一个参数类型为int,第二个参数类型为String,则自动调用第一个方法a。如果传入的第一个参数为String类型,第二个参数类型为int,则自动调用第二个方法a。

实例:

public class Circle{
double radius,area;

void setRadius(double r){
    radius = r;
}

double getArea(){
    area = 3.14 * radius * radius;
    return area;
}

}

public class Ladder{
double top,bottom,height;

public Ladder(double a,double b,double h){
    top = a;
    bottom = b;
    height = h;
}

double getArea(){
    return(top+bottom)*height/2;
}

}

public class People{

double computerArea(Circle c){
return c.gerArea();
}
double computerArea(Ladder i){
return c.gerArea();
}
}

public class Demo18{

public static void main(String[] args){
    Circle circle = new circle();
    Circle.setRadius(12.5);

    Ladder ladder = new ladder(10, 20, 15);
    
    People people = new people();
    System.out.println("people计算圆的面积:"+people.computerArea(Circle));
    System.out.println("people计算梯形的面积:"+people.computerArea(Ladder));
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值