超载,超载(overloading)和最重要的(overriding)的区别

“重载”和“重写”这两个词经常被混淆,但它们实际上是两种不同的东西。重载是创建与现有函数同名但参数不同的新函数的过程。重写是用具有相同名称和参数的新函数替换现有函数的过程。在这篇博文中,我们将探讨重载和重写之间的区别,并提供一些示例来帮助您更好地理解这些概念。...

“重载”和“重写”这两个词经常被混淆,但它们实际上是两种不同的东西。重载是创建与现有函数同名但参数不同的新函数的过程。重写是用具有相同名称和参数的新函数替换现有函数的过程。在这篇博文中,我们将探讨重载和重写之间的区别,并提供一些示例来帮助您更好地理解这些概念。

什么是超载,超载(overloading)?

重载是一个允许系统处理超过其正常工作负载的过程。当系统被要求执行比其设计的工作更多的工作时,或者当要求执行超出其正常工作参数的工作时会发生过载。过载可能会导致许多后果,包括性能降低、意外结果,甚至系统故障。

在某些情况下,过载可能是故意的,例如当系统被故意分配比设计任务更多的任务以测试其极限时。在其他情况下,过载可能是错误或错误配置的结果。无论原因如何,应尽可能避免过载,以防止产生负面后果。

什么是最重要的(overriding)?

  • 重写是类重写其超类中定义的方法的能力。当一个方法被重写时,子类提供了它自己的方法实现,然后使用它来代替超级类的实现。重写是一个强大的特性,它允许子类调整其行为以满足其特定需求。
  • 然而,小心使用重写是很重要的,因为如果使用不当,可能会导致意外的结果。重写通常用于更改继承方法的行为,例如使其更特定于子类的需要。它还可以通过提供更有效的继承方法实现来提高性能。
  • 重写方法时,务必确保重写方法具有与继承方法相同的签名。这包括参数的数量和类型,以及返回类型。否则将导致编译时错误。重写是一个强大的工具,可用于自定义类的行为。然而,明智地使用它很重要,因为如果使用不当,可能会导致意想不到的结果。

超载,超载(overloading)和最重要的(overriding)的区别

重载和重写是面向对象编程中的两个重要特性。它们都用于创建扩展现有类功能的新方法。然而,两者之间存在一些关键差异。当多个方法共享相同的名称但具有不同的签名时,会发生重载。

这意味着它们采用不同数量或类型的参数。另一方面,当子类重新定义从父类继承的方法时,会发生重写。在这两种情况下,新方法都可以用于向现有类添加额外的行为。然而,重载通常用于创建具有类似功能的新方法,而重写则用于更改现有方法的行为。因此,这两种功能在不同的情况下都很有用。

结论

在Java中,有两种方法可以为现有方法提供新功能:重载和重写。重载方法意味着为同一方法提供多个定义,每个定义都有一个唯一的参数列表。重写方法意味着用自己的定义替换继承的定义。重载和重写之间的主要区别是重载方法必须具有相同的返回类型,而重写方法的返回类型可能不同。

  • 发表于 2023-01-31 00:36
  • 阅读 ( 13 )
  • 分类:软件

你可能感兴趣的文章

压倒一切(overriding)和c中的过载#(overloading in c#)的区别

...将全部打印Shape类的显示方法的内容。 什么是c中的过载#(overloading in c#)? 在重载中,多个方法具有相同的名称,但具有不同的参数。参数可以是不同类型的。这些方法也可以有不同数量的参数。方法重载发生在同一个类中。重...

  • 发布于 2020-10-18 23:50
  • 阅读 ( 245 )

超载(overloading)和在java中重写(overriding in java)的区别

...表格形式在Java中重载与重写 6. 摘要 什么是java中的重载(overloading in java)? 重载是使用不同的实现创建同名的多个方法的能力。请参阅下面的Java代码。 图01:Java程序,解释使用不同数量的参数重载 根据上面的程序,类A包含两个...

  • 发布于 2020-10-19 21:20
  • 阅读 ( 392 )

不要在你的时间管理上扮演受害者的角色,控制自己

...重要的最后期限,准备新产品上市,或起草年度报告。但超载不一定是常态。如果你有太多的事情要做,而你又不把这件事告诉别人,那不是别人的错。这是你的。即使在以严格的工作日程著称的顶级咨询公司,也有时间的开放...

  • 发布于 2021-05-19 10:51
  • 阅读 ( 174 )

谷歌超载,便宜的电脑游戏,和基本的电脑建设技巧

本周我们在播客上讨论了大量的谷歌新闻,在PC游戏上找到了大量的交易,以及第一次电脑**者的基本时间。我们还将回答您关于将iPhone数据迁移到Android、覆盖恼人的YouTube默认值以及改善MacBook Pro音质的问题。抱歉,伙计们,本...

  • 发布于 2021-05-22 11:13
  • 阅读 ( 163 )

继承(inheritance)和java中的多态性(polymorphism in java)的区别

...编译时多态性”。示例程序如下。 Figure 4: Java program with overriding 重载类有两个方法,其名称与sum相同。第5行中的sum方法不包含任何参数。它将两个值10和20相加,返回结果,即30,第11行的和方法得到两个参数。它添加了这两个...

  • 发布于 2021-07-01 09:50
  • 阅读 ( 471 )

函数重载(function overloading)和C++中的重写(overriding in c++)的区别

...决定了调用函数的哪个版本。 函数间重载(between function overloading)和C++中的重写(overriding in c++)的区别 C++中函数重载是编译时多态性,而C++中的函数重写是运行时 重载中有一个特定的关键字,而“Virtual”是函数重写中的一个特定...

  • 发布于 2021-07-08 11:14
  • 阅读 ( 370 )

方法重载(method overloading)和覆盖(overriding)的区别

...raw方法覆盖Source1类中定义的绘图方法。 方法重载(method overloading)和方法覆盖(method overriding)的区别 在方法重载中,方法必须具有不同的签名。在方法中,重写方法必须具有相同的签名。 函数重载是对方法的行为进行更多的“...

  • 发布于 2021-07-08 17:55
  • 阅读 ( 300 )

多态性(polymorphism)和超载(overloading)的区别

关键区别:多态特性允许用户用统一的接口处理不同的数据类型和函数。一个可以计算或应用于不同类型值的函数称为多态函数。方法重载是编程语言中的一个特性,它允许创建几个名称相同但在输入和输出类型上不同的方法...

  • 发布于 2021-07-13 06:47
  • 阅读 ( 200 )

哦(oop)和流行音乐(pop)的区别

...循自下而上的过程。 程序设计遵循自顶向下的过程。 超载 重载可以是函数重载和运算符重载。 超载是不可能的。 访问 使用Public、private和protected访问说明符。 未使用访问说明符。 示例 C++,java 帕斯卡,Fortran

  • 发布于 2021-07-13 20:38
  • 阅读 ( 115 )

超载(overloading)和java中的重写(overriding in java)的区别

关键区别:重载意味着在同一类中有两个方法具有相同的名称和不同的参数类型,而重写意味着在同一类中有两个不同的方法具有相同的参数类型,但实现不同。 方法重写和重载是java编程语言中使用的两个概念或技术。这两...

  • 发布于 2021-07-13 21:16
  • 阅读 ( 184 )