Java语言基础10-方法重载

方法重载 page 10 of 37


但是,不是所有的狗(dog)叫声一样,因此为了在 Dog 的实现中添加一些不同的叫法(bark),我们需要定义另一个 bark() 方法来接受用 string 表示的叫声:


class Dog {
  void bark() {
    System.out.println("Woof.");
  }
  
  void bark(String barkSound) {
    System.out.println(barkSound);
  }
}

Dog 这样写也是正确的,虽然程序中有两个 bark() 方法,但它们的方法标记不同,Java(TM) 解释器能正确选择该调用哪个方法。方法定义 "void bark(String barkSound)" 表明其与 bark() 不同,它能接受一个 String 类型的参数 barkSound.

另一个方法重载的例子:DogChorus,它创建了两个狗(dog)的实例 并为每个狗(dog) 设定了不同的吠叫(bark)行为 :


public class DogChorus {
  public static void main(String[] args) {
    Dog fido = new Dog();
    Dog spot = new Dog();
    fido.bark();
    spot.bark("Arf.  Arf.");
    fido.bark("Arf.  Arf.");
    System.exit(0);
  }
}

由于 Dog 支持两种不同的吠叫(bark)行为,都以 bark() 命名,我们就可将程序设计成让 fido 做出两种行为。在 DogChorus 中,对 fidospot 我们调用不同的 bark 行为。注意 fido 在它听到 spot 的叫声(bark)后,改变了自己的叫声(bark)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值