子类重写父类方法需满足:存在继承关系,方法签名一致(含协变返回类型),访问权限不更严格,异常声明不扩大;static、final、private方法不可重写。

Java中方法重写(Override)发生的条件,核心是子类对父类中可访问的非静态、非final方法提供新的实现。只有同时满足以下几个条件,才构成合法的重写:
重写只发生在父子类之间。子类通过 extends 继承父类后,才有机会重写父类的方法。
包括:方法名、参数列表(类型、个数、顺序)必须相同;返回类型需满足协变规则(见下条);修饰符不能更严格(如父类是 protected,子类不能改成 private)。
子类重写方法的返回类型,可以是父类方法返回类型的子类型(即更具体的类型),这叫协变返回类型。
立即学习“Java免费学习笔记(深入)”;
这是为了保障里氏替换原则(LSP):子类对象能安全替代父类对象。
基本上就这些。抓住“继承 + 同签名 + 可见 + 非静态非final”,再核对访问与异常规则,就能准确判断是否发生重写。
以上就是java重写发生的条件的详细内容,更多请关注php中文网其它相关文章!
java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号