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

你可能感兴趣的文章
Netty源码—6.ByteBuf原理二
查看>>
Netty源码—7.ByteBuf原理三
查看>>
Netty源码—7.ByteBuf原理四
查看>>
Netty源码—8.编解码原理二
查看>>
Netty源码解读
查看>>
Netty的Socket编程详解-搭建服务端与客户端并进行数据传输
查看>>
Netty相关
查看>>
Network Dissection:Quantifying Interpretability of Deep Visual Representations(深层视觉表征的量化解释)
查看>>
Network Sniffer and Connection Analyzer
查看>>
NetworkX系列教程(11)-graph和其他数据格式转换
查看>>
Networkx读取军械调查-ITN综合传输网络?/读取GML文件
查看>>
Net与Flex入门
查看>>
net包之IPConn
查看>>
NFinal学习笔记 02—NFinalBuild
查看>>
NFS共享文件系统搭建
查看>>
nfs复习
查看>>
NFS网络文件系统
查看>>
ng 指令的自定义、使用
查看>>
nginx + etcd 动态负载均衡实践(二)—— 组件安装
查看>>
nginx + etcd 动态负载均衡实践(四)—— 基于confd实现
查看>>