35_方法重写

本文详细介绍了Java中的方法重写概念,包括如何通过`@Override`注解进行方法覆盖,以及重写的原则,如方法名、参数列表和返回值的一致性,访问权限的限制和异常处理。此外,还展示了重写后的代码示例,演示了子类如何调用重写后的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

方法重写

方法重写的概念

  • 从父类中继承下来的方法不满足子类的需求时,就需要在子类中重新写一个和父类一样的方法来覆盖从父类中继承下来的版本,该方式就叫做方法的重写(Override)。 重载叫 Overload

    // 自定义show方法覆盖从父类中继承的版本
    @Override  // 标注/注解,用于说明下面的方法是对父类方法的重写,若没有构成重写则编译报错
    public void show() {
    	super.show(); // 表示调用父类的show方法
    	System.out.println("我的薪水是:" + getSalary());
    }
    
    
    
    // 当子类重写show方法后,则下面调用的是重写以后的版本,否则调用的是Person类中的show方法
    w1.show(); // null  0  
    

方法重写的原则

  • 要求方法名相同、参数列表相同以及返回值类型相同,从Java5开始允许返回子类类型。也就是说在Java5之前父类中的show方法返回的是一个父类类型的对象,子类中的show方法也要返回一个父类类型的对象,这就叫一致。Java5之后,父类中返回父类类型,子类中允许返回子类类型。
  • 要求方法的访问权限不能变小,可以相同或者变大。访问权限就是权限修饰符。子类继承父类可以看成是子类扩展父类,既然是扩展,哪里有访问权限变小的道理。
  • 要求方法不能抛出更大的异常(异常机制)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值