当前位置:首页 » 编程语言 » java重载与重写

java重载与重写

发布时间: 2024-11-24 01:59:05

‘壹’ java 重载和重写的区别

1.定义区别:

①重载是指不同的函数使用相同的函数名,但是函数的参数个数或类型不同。调用的时候根据函数的参数来区别不同的函数。

②覆盖(也叫重写)是指在派生类中重新对基类中的虚函数(注意是虚函数)重新实现。即函数名和参数都一样,只是函数的实现体不一样。

2.类的关系区别

覆盖是子类和父类之间的关系,是垂直关系;重载是同一个类中方法之间的关系,是水平关系。

3.产生方法区别

覆盖只能由一个方法或只能由一对方法产生关系;重载是多个方法之间的关系。

4.参数列表要求区别

覆盖要求参数列表相同;重载要求参数列表不同。

5.调用方法区别

覆盖关系中,调用方法体是根据对象的类型来决定;而重载关系是根据调用时的实参表与形参表来选择方法体的。

(1)java重载与重写扩展阅读

方法的重写:

1、在子类中可以根据需要对从基类中继承来的方法进行重写。

2、重写的方法和被重写的方法必须具有相同方法名称、参数列表和返回类型。(注:返回值可以为父类中返回值的子类型.参数若为子类,则不是重写是重载)

3、重写方法不能使用比被重写的方法更严格的访问权限。

4. 重写方法不能声明抛出比被重写方法范围更大的异常类型。

总结:重写是子类对所继承父类相同方法的一种更改,这个更改需要遵循格式按照父类的格式,访问权限,抛出异常等等,都在父类方法控制范围内,内部具体实现可以实现不同的效果。

‘贰’ Java中重写(Override)与重载(Overload)

在Java编程中,重写与重载是两个关键的概念。重写主要发生在继承关系中,当继承的类不完全符合被继承类的方法需求时,可以在继承类中重写该方法。重写的核心原则是保持外部结构不变,只调整内部实现,类似于山寨手机,虽然外观相似,但核心功能不同。

重写的主要注意事项包括:必须是继承类中的方法重写被继承类中的方法,但构造方法除外。在重写方法时,只需保留方法的外壳不变,调整内部逻辑即可。如果方法外壳有所改动,程序会报错。final标记的方法不可被重写;static标记的方法可以在其他类中再次声明。在同一个包中的类,private和final方法不能被重写;如果不在同一类中,public、protected和非final的方法可以被重写。

使用super关键字时,当子类调用父类被重写的方法时,需要在子类方法体的第一句使用super关键字。

举个例子,重载方法允许在方法名相同的情况下,通过改变参数列表来实现不同的功能。与重写相比,重载更为灵活,只需调整方法的参数即可。

总结重写与重载的关系,重写关注方法的内部实现,而重载关注方法的外部表现。同时,super关键字在调用父类方法时,用于确保正确执行。

热点内容
c语言源程序的基本单位 发布:2025-01-10 16:47:37 浏览:285
王者安卓账号如何换到苹果 发布:2025-01-10 16:34:47 浏览:729
c语言lua 发布:2025-01-10 16:34:46 浏览:206
我的世界检测服务器人员 发布:2025-01-10 16:32:30 浏览:832
数据库表模板 发布:2025-01-10 16:22:21 浏览:356
邮政新农合社保卡初始密码多少 发布:2025-01-10 16:01:32 浏览:143
安卓系统哪个最商务 发布:2025-01-10 15:49:28 浏览:910
填色脚本实例 发布:2025-01-10 15:34:21 浏览:759
如何配置烧烤 发布:2025-01-10 15:34:13 浏览:54
python列表相乘 发布:2025-01-10 15:31:33 浏览:322