方法的重写

方法的重写

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

方法重写的条件

  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) 父子类 必须一样 相同 子类重写的方法,返回的类型和父类返回的类型一致,或者是其子类 子类方法不能缩小父类方法的访问范围
相关推荐
Patrick在香港5 分钟前
Python Docker镜像从1.2GB到89MB:多阶段构建的完整优化实录
java·python·docker·信息可视化·容器·数据分析·ai编程
上海安当技术16 分钟前
敏感数据怎么防拖库?信封加密(DEK+KEK 二层密钥)架构设计与 Java 实战
java·开发语言·python
我是唐青枫25 分钟前
Java JCommander 实战详解:用注解解析命令行参数
java·开发语言
大鹏说大话33 分钟前
C++ 内存布局详解:类、虚函数、虚表底层原理
java·开发语言
还是鼠鼠1 小时前
Spring AI连接DeepSeek与通义千问:application.yaml配置详解
java·通义千问·spring ai·deepseek
计算机小白一个2 小时前
蓝桥杯 Java B 组之哈希表应用(两数之和、重复元素判断)
java·数据结构·算法·蓝桥杯
sunburn-3 小时前
Java 队列全面详解:从入门到面试实战
java·开发语言·汇编·ide·idea
vx-程序开发3 小时前
springboot农产品运输服务平台---附源码75498
java·javascript·spring boot·python·eclipse·django·php
zzh___zzh5 小时前
SQL 窗口函数 ROW_NUMBER、RANK、DENSE_RANK 常用方法笔记
java
计科土狗5 小时前
GESP六级专题之类与对象
java·前端·数据库