重载和重写的区别

小夏 汽车 更新 2024-01-30

在 J**A 中,重载和重写是两个不同的概念,它们在类和继承中起着关键作用。 了解它们之间的区别很重要:

重载发生在同一个类中,当两个或多个方法在同一类中具有相同的名称但具有不同的参数列表时,则视为重载。 重载的要点包括:

参数列表不同:它可以是不同数量的参数、不同类型的参数或不同的参数顺序。

返回类型可能会有所不同:重载方法可以具有不同的返回类型,但仅返回类型的差异不足以构成重载。

发生在同一类中:也可以出现在子类中,但大多数方法都在同一类中。

访问修饰符和例外可以不同:重载方法可以具有不同的访问修饰符并引发异常。

在此示例中,display该方法重载:一次使用两个参数,一次使用一个参数。

重写发生在具有继承关系的两个类之间,当子类的方法名称、返回类型和参数列表与父类中的方法相同时,子类的方法被视为已重写父类的方法。 重写的关键点包括:

方法签名相同:方法名称和参数列表必须相同。

返回相同的类型或子类型:返回类型必须相同,或者必须是子类类型(协变返回类型)。

访问级别不能更低:子类方法不能具有比父类方法更严格的访问级别。

只能重写非静态方法:静态方法不能被覆盖,它们只能被隐藏。

例外声明必须一致或更宽松

在此示例中,subclass重写superclassdisplay方法。

重载在这种情况下,同一类中的方法名称相同,但参数列表不同。

重写指子类中的方法覆盖父类中具有相同方法签名的方法的情况。

重载是 j**a 多态性的一种表现形式,主要用于提供同一方法的不同版本,而重写则用于在继承关系中实现多态性,允许子类改变或扩展父类的行为。

相似文章

    重写的文章

    解读西南战场 红军三大将领背后的不为人知的故事。在战略追击阶段,上级领导指挥第二野战军和第十八兵团一起向西南进军,彻底歼灭了盘踞在西南地区的反动集团,为西南五省的解放作出了巨大贡献。年月,西南解放战役正式打响,英勇娴熟的第二野战军在刘 邓的指挥下,掀起了激烈的西南战役。与此同时,第兵团从汉中进入西南...

    Diamond Data Storage 突破性的写入和重写功能可扩展到单个原子

    钻石是一种很有前途的数据存储材料,现在科学家们已经展示了一种将更多数据塞进钻石的新方法,甚至精确到一个原子。该技术通过在不同颜色的光下将数据写入同一点来绕过物理限制。钻石作为数据存储介质具有巨大的潜力 最近的研究已经生产出 英寸 厘米 的金刚石晶圆,可以存储 亿张蓝光光盘的容量。有趣的是,它不是通过...

    in 和 on 用法的区别

    in 和 on 都是介词,但它们的用法在很多方面有所不同,主要分为含义 用法和强调。以下是它们差异的详细说明。.含义和用法不同 .in 表示地点 in。里面 在。地方 在。期间。指示对象在特定区域或范围内。.ON 表示位置 in。上 在。边 近。指示对象位于平面的曲面或交汇点上。示例 我们应该住在哪...

    这里和那里的区别

    在丰富的语言宝库中,这里 和 那里 是两个极其常见的词,意义深远。它们看似简单,但在空间 时间和心理学等多个层面上却承载着复杂的含义。本文将从专业而独特的视角探讨这两个词之间的微妙差异,带领读者踏上一段关于空间和存在的反思之旅。.这里 和 那里 的定义和基本含义。这里 通常是指当前的位置或情况,是即...

    这里和那里的区别

    在英语习中,我们经常会遇到一些看似简单但令人困惑的单词,例如这里和那里。这两个词都是表示空间位置的常用副词,但它们的含义 用法和词性存在一些细微的差异。如果我们不能正确理解和使用这两个词,可能会导致语义歧义或错误,影响沟通的有效性和质量。那么,这里和那里到底有什么区别呢?我们应该如何区分和使用这两个...