Java中重写的规则与示例

简介: 在Java中,重写(Override)是指子类重新定义一个与父类具有相同名称、参数列表和返回类型的方法。通过重写,子类可以根据自己的需要修改或扩展父类方法的实现。重写方法的规则包括:必须具有相同的方法名、参数列表和返回类型;不能比父类方法的访问控制权限更低;不能抛出比父类方法更多的异常;可以使用相同或更宽的返回类型。重写允许子类根据自身需求定制方法实现,提供了灵活性和扩展性。

在Java中,重写(Override)是指在子类中重新定义一个与父类中具有相同名称、参数列表和返回类型的方法。通过重写,子类可以根据自己的需求修改或扩展父类的方法实现。

重写方法的规则如下:

子类中的重写方法必须具有与父类中被重写方法相同的名称、参数列表和返回类型。
子类中的重写方法不能比父类中被重写方法拥有更低的访问控制权限。例如,如果父类中的方法是public,那么子类中的方法就不能是private。
子类中的重写方法不能抛出比父类中被重写方法更多的异常,但可以抛出相同的异常或者不抛出异常。
子类中的重写方法不能使用比父类中被重写方法更窄的返回类型,但可以使用相同或更宽的返回类型。这被称为协变返回类型。
以下是一个使用重写的简单示例
image.png

在上面的示例中,Animal类拥有一个makeSound()方法,而Cat类通过重写该方法,修改了makeSound()方法的行为。当调用makeSound()方法时,如果是Animal对象,则输出"Animal makes a sound";如果是Cat对象,则输出"Cat meows",这个就是重写的效果。

相关文章
|
11月前
|
Java 开发工具
【Azure Storage Account】Java Code访问Storage Account File Share的上传和下载代码示例
本文介绍如何使用Java通过azure-storage-file-share SDK实现Azure文件共享的上传下载。包含依赖引入、客户端创建及完整示例代码,助你快速集成Azure File Share功能。
713 6
|
11月前
|
存储 Java Go
【Java】(3)8种基本数据类型的分析、数据类型转换规则、转义字符的列举
牢记类型转换规则在脑海中将编译和运行两个阶段分开,这是两个不同的阶段,不要弄混!
432 2
|
11月前
|
安全 Java
Java异常处理:程序世界的“交通规则
Java异常处理:程序世界的“交通规则
439 98
|
12月前
|
IDE Java 关系型数据库
Java 初学者学习路线(含代码示例)
本教程为Java初学者设计,涵盖基础语法、面向对象、集合、异常处理、文件操作、多线程、JDBC、Servlet及MyBatis等内容,每阶段配核心代码示例,强调动手实践,助你循序渐进掌握Java编程。
1391 3
|
12月前
|
Java
java入门代码示例
本文介绍Java入门基础,包含Hello World、变量类型、条件判断、循环及方法定义等核心语法示例,帮助初学者快速掌握Java编程基本结构与逻辑。
807 0
Java API 开发者
449 0
|
安全 Java 网络安全
Java 实现 SMTP 协议调用的详细示例及实战指南 SMTP Java 调用示例
本文介绍了如何使用Java调用SMTP协议发送邮件,涵盖SMTP基本概念、JavaMail API配置、代码实现及注意事项,适合Java开发者快速掌握邮件发送功能集成。
1603 0
|
算法 搜索推荐 Java
Java中的Collections.shuffle()方法及示例
`Collections.shuffle()` 是 Java 中用于随机打乱列表顺序的方法,基于 Fisher-Yates 算法实现,支持原地修改。可选传入自定义 `Random` 对象以实现结果可重复,适用于抽奖、游戏、随机抽样等场景。
517 0
|
存储 安全 Java
应届生面试高频 Java 基础问题及实操示例解析
本文总结了Java基础面试中的高频考点,包括数据类型分类、final修饰符的三种用途、static关键字特性、==与equals的区别、Java只有值传递的特性、String的不可变性、Error与Exception的差异、程序初始化顺序规则,以及IO流的字节流/字符流分类。每个问题都配有简明定义和典型示例,如用final修饰变量示例、static方法调用限制说明等,帮助应聘者快速掌握核心概念和实际应用场景。
451 0