方法重写的基本概念

方法重写概念( Method Overriding)

概念:方法重写主要用于修改方法体,也就是修改方法所实现的功能
方法重写具有以下规定:

  1. 子类方法的修饰符等级不得低于父类方法的修饰符等级
  2. 子类方法的返回值类型,参数类型以及参数个数必须与父类方法的完全相同
    一句话说:方法重写除方法体以及方法的修饰符外必须完全相同!!!
    这里顺便提一下方法的修饰符等级以及使用范围:
    private(私有)<缺省值<protected(保护)<public(公开)
    private:在本类中使用
    默认:在本包中使用
    protected:在其他包的子类中使用
    public:在任何地方使用

方法重写实现示例

由于方法重写更多使用于抽象类中,这里就以抽象类举例:

无参情况

 public abstract class Animal {
    public abstract void run();
}
public class Dog extends Animal{
    @Override
    public void run() {
        System.out.println("Dog running");
    }
}

@Override是方法重写的校验注解,添加后必须完全满足方法重写的要求,不然就会报错!!!

有参情况

public abstract class Animal {
    private String name;
    protected abstract String getName(String name);
}
public class Dog extends Animal{
    private String nickname = "nickname";
    @Override
    public String getName(String nickname) {
        return nickname;
    }
}

这里修改了父类和子类方法的修饰符,只有方法修饰符和方法体不同
当父类方法修饰符为private时,子类就不能重写父类的方法,因为private修饰符修饰的成员方法规定该方法只能在父类中使用,因此,抽象方法的方法修饰符不能是私有的!!!
方法重写只需记住:方法重写主要用于抽象方法,因为抽象方法没有方法体,方法体由子类重写,具体功能由子类决定。

本篇的下一篇是方法重载,在方法重载的最后简要总结了方法重写与方法重载的区别
方法重载

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值