【学习笔记】重载和重写的区别

本文详细探讨了Java中的重载(overloading)和重写(overriding)的区别。重载发生在同一类中,要求方法名相同,但参数列表不同。而重写发生在父子类之间,要求方法名、参数列表和返回类型都相同。重写时,子类方法的访问修饰符不能低于父类,异常范围不能超过父类,且不能抛出新的检查异常。重载不考虑返回类型和访问修饰符,而重写关注这些细节。
摘要由CSDN通过智能技术生成

重载和重写的区别


学习笔记

Java基础


一、重载(overloading)

重载:发生在同一个类中,方法名必须相同,参数类型不同、个数不同、顺序不同,方法返回值和访问修饰符可以不同;发生在编译时。

方法重载是让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时存在,具有不同的参数个数/类型。重载Overloading是一个类中多态性的一种表现。

Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。

调用方法时通过传递给它们的不同参数个数和参数类型来决定具体使用哪个方法, 这就是多态性。

重载的时候,方法名要一样,但是参数类型和个数不一样,返回值类型可以相同也可以不相同。无法以返回值类型作为重载函数的区分标准。

父类方法被默认修饰时,只能在同一包中,被其子类重写,如果不在同一包则不能重写。
父类的方法被protoeted时,不仅在同一包中,被其子类重写,还可以不同包的子类重写。


二、重写(override)

重写:发生在父子类中,方法名、参数列表必须相同,返回值范围小于等于父类,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值