Java 方法重载(overload)、方法重写(override)和可变参数列表

生活就是一系列的一系列的机会成本。

方法重载和方法重写是Java相关工作面试时经常问到的一个问题,我第一次问题也回答了这个问题。可变参数列表是JDK 1.5的新特性。

一、方法重写(override)

方法重写是出先在类的继承中的。
比如父类:Animal.java

public class Animal{
    public void sleep(){
        System.out.println("动物需要睡觉");
    }
    public void eat(){}//动物吃东西
}

子类:Dog.java

public class Dog extends Animal{
    public void sleep(){
        System.out.println("小狗需要睡觉");
    }
}

Dog类继承Aniaml类,所以Dog类应该有父类的方法,sleep()方法就是从父类中继承来的,方法名相同,返回值相同,参数类表相同,但是方法体中的内容不同,所以我们把从父类继承来,但是修改过的方法叫做方法重写。

二、方法重载(overload)

方法重载是发生在同一个下面的。例如:

public class Operationg{
    public double add(int a,int b){
        return a+b;
    }
    public double add(int a,int b,int c){
        return a+b+c;
    }
}

如上面两个add()方法,参数名相同,返回值相同,只有参数列表不同的两个方法叫做重载方法。

三、可变参数列表

可变参数列表是JDK 1.5添加的新特性。如下:

public class VarialeParameters {
    //固定参数列表
    public int add(int a,int b,int c){
        return a+b+c;
    }
    //可变参数列表
    public int add(int a,int b,int...c){
        int sum = 0;
        for(int i = 0;i<c.length;i++){
            sum = sum + c[i];
        }
        sum = sum + a + b;
        return sum;
    }
}

我们可以发现,调用可变参数列表时,隐含创建了一个数组,在方法体中,以数组的形式访问可变参数。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值