博客
关于我
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/

你可能感兴趣的文章
python-social-auth 是否需要会话
查看>>
Python再获年度编程语言,微软或成最大赢家
查看>>
python-week5
查看>>
Python写表情包搜索工具(非常详细)零基础入门到精通,收藏这一篇就够了
查看>>
Python-【1】配置
查看>>
Python-从子文件夹执行绝对导入
查看>>
Python-刷新页面,直到元素可单击
查看>>
PYTHON-唤醒+VOSK+DEEPSEEK+离线合成-实现纯离线大模型问答
查看>>
Python-在Dash回调中重用函数
查看>>
PYTHON-基本数据类型-元祖类型,字典类型,集合类型
查看>>
python-外观模式
查看>>
Python-如何使用FastAPI和uvicorn.run而不阻塞线程?
查看>>
Python-字典
查看>>
python-字符串
查看>>
Python-将二进制遮罩转换为多边形
查看>>
python-文件操作
查看>>