Java重写与重载

本文介绍了Java中的方法重写和重载。重写是子类覆盖父类的同名方法,遵循特定规则,如保持方法签名一致并允许返回类型协变。重载则在同一类中使用相同方法名但不同参数类型或数量。两者分别体现了编译时和运行时的多态性,重载发生在同一类,而重写发生在子类与父类之间。
摘要由CSDN通过智能技术生成

一、Java重写

Java中的方法重写是指子类覆盖父类的同名方法,以实现新的实现方式或逻辑。方法重写必须遵循以下规则:

1. 方法名、参数个数、参数类型和返回类型必须与父类方法相同。

2. 子类方法的访问修饰符不能比父类方法的更严格(例如,如果父类方法是public,那么子类方法不能是private)。

3. 子类方法的返回类型可以是父类方法返回类型的子类(即协变类型)。

4. 子类方法不能抛出比父类方法更广泛的异常类型。

以下是一个示例代码,演示了如何在子类中重写父类的方法:

```
class Animal {
    public void makeSound() {
        System.out.println("Animal is making a sound");
    }
}

class Dog extends Animal {
    @Override
    public void makeSound() {
        System.out.println("Dog is barking");
    }
}

public class Main {
    public static void main(String[] args) {
        Animal animal = new Animal();
        animal.makeSound(); // 输出 "Animal is making a sound"
        
        Dog dog =

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值