博客
关于我
Java重写override
阅读量:356 次
发布时间:2019-03-04

本文共 1008 字,大约阅读时间需要 3 分钟。

Java方法重写与覆盖详解

1. 方法重写(OVERRIDE)解析

在Java编程中,方法重写是子类对父类中的方法进行修改或完全重新实现的过程。这种机制允许子类在不改变方法签名的情况下,提供不同的实现方式。

方法重写的核心要点

  • 方法名和参数列表必须完全一致:这是判断是否为重写的关键依据。
  • 返回值类型和声明的异常类型必须小于或等于父类方法:子类方法的返回值类型或异常类型不能比父类更宽泛。
  • 访问修饰符的限制必须大于或等于父类方法:子类方法的访问级别不能低于父类。

方法重写示例

public class Vehicle {    public void run() {        System.out.println("跑....");    }    public void stop() {        System.out.println("停止!");    }    public Person whoIsPsg() {        return new Person();    }}public class Horse extends Vehicle {    public void run() {        System.out.println("四蹄翻飞,嘚嘚的。。");    }    public Student whoIsPsg() {        return new Student();    }}

在上述示例中,Horse类对父类Vehicle中的run()方法进行了重写,并保持了与父类相同的方法签名和访问修饰符。

2. 方法覆盖(Overloading)与重写的区别

方法覆盖

方法覆盖是指在同一个类中定义多个方法,参数列表虽然不同,但方法名相同。这种机制允许多个方法共享相同的名称,但参数类型不同。

方法重写

方法重写则是子类对父类中的方法进行修改或完全替代实现,要求方法名、参数列表必须完全一致。

3. 方法重写的限制

  • 子类方法的返回类型必须是父类方法返回类型的子类。
  • 子类方法抛出的异常类型必须是父类方法异常类型的子类。
  • 子类方法的访问修饰符必须大于或等于父类方法。

4. 总结

方法重写是Java面向对象编程的重要特性之一。它允许子类在不改变方法签名的情况下,提供更具体的实现。理解方法覆盖与重写的区别,以及掌握重写的规则,是掌握Java编程的关键环节。

转载地址:http://xkzr.baihongyu.com/

你可能感兴趣的文章
POI数据获取及坐标纠偏
查看>>
Quartz入门看这一篇文章就够了
查看>>
POI解析Excel【poi的坑——空行处理】
查看>>
POI:POI+JXL实现xls文件添加水印
查看>>
POI:POI实现docx文件添加水印
查看>>
POJ 1006
查看>>
Quartz中时间表达式的设置-----corn表达式
查看>>
poj 1035
查看>>
POJ 1061 青蛙的约会 (扩展欧几里得)
查看>>
Quartz2.2.1简单使用
查看>>
POJ 1080 Human Gene Functions(DP:LCS)
查看>>
Quant 开源项目教程
查看>>
POJ 1088 滑雪
查看>>
POJ 1095 Trees Made to Order
查看>>
POJ 1113 Wall(计算几何--凸包的周长)
查看>>
poj 1125Stockbroker Grapevine(最短路)
查看>>
Qualitor processVariavel.php 未授权命令注入漏洞复现(CVE-2023-47253)
查看>>
poj 1151 (未完成) 扫描线 线段树 离散化
查看>>
POJ 1151 / HDU 1542 Atlantis 线段树求矩形面积并
查看>>
poj 1163 数塔
查看>>