方法的重写

方法的重写

概念:子类继承父类之后,就拥有了符合权限的父类的属性和方法,但是当父类的方法不符合子类的要求的时候,子类也可以重新的书写自己想要的方法。所以,方法的重写,即子类继承父类的方法后,由于父类的方法不满足子类的需求,子类重新书写该方法。

方法重写的条件

  1. 在子类中重写父类的方法。
  2. 返回值类型、方法名、参数列表必须和父类重写的方法一模一样。
  3. 访问修饰符不能被父类重写的方法更严格。
  4. 抛出的异常必须比父类的要小。

代码实现:

java 复制代码
//创建父类Person
class Person {
    public void eat(){
        System.out.println("吃食物");
    }
    public void sleep(){
        System.out.println("睡觉");
    }
}

//创建子类Student
class Student extends Person {
    public void study(){
        System.out.println("学习");
    }
@override
    public void eat(){
        System.out.println("我喜欢吃螺蛳粉。");
    }
}

public class Test {
    //这是一个main方法,是程序的入口:
    public static void main(String[] args) {
        //创建一个Student类的对象:
        Student student = new Student();
        student.eat();
    }
}

运行结果:

方法重写VS方法重载

名称 发生范围 方法名 形参列表 返回类型 修饰符
重载(Overload) 本类 必须一样 类型,个数或者顺序至少有一个不同 无需求 无需求
重写(Override) 父子类 必须一样 相同 子类重写的方法,返回的类型和父类返回的类型一致,或者是其子类 子类方法不能缩小父类方法的访问范围
相关推荐
想用offer打牌几秒前
你真的懂Thread.currentThread().interrupt()吗?
java·后端·架构
橘色的狸花猫11 分钟前
简历与岗位要求相似度分析系统
java·nlp
独自破碎E16 分钟前
Leetcode1438绝对值不超过限制的最长连续子数组
java·开发语言·算法
用户917439653921 分钟前
Elasticsearch Percolate Query使用优化案例-从2000到500ms
java·大数据·elasticsearch
yaoxin5211231 小时前
279. Java Stream API - Stream 拼接的两种方式:concat() vs flatMap()
java·开发语言
坚持学习前端日记1 小时前
2025年的个人和学习年度总结以及未来期望
java·学习·程序人生·职场和发展·创业创新
Cosmoshhhyyy1 小时前
《Effective Java》解读第29条:优先考虑泛型
java·开发语言
Chen不旧1 小时前
java基于reentrantlock/condition/queue实现阻塞队列
java·开发语言·signal·reentrantlock·await·condition
寒水馨2 小时前
com.github.oshi : oshi-core 中文文档(中英对照·API·接口·操作手册·全版本)以6.4.0为例,含Maven依赖、jar包、源码
java·后端
0和1的舞者2 小时前
SpringBoot日志框架全解析
java·学习·springboot·日志·打印·lombok