Linux 拨号vps windows公众号手机端

java覆盖和重载有什么区别

lewis 7年前 (2018-11-14) 阅读数 7 #程序编程
文章标签 Java

Java中的覆盖(Override)和重载(Overload)是两个不同的概念。

覆盖是指子类重新定义了父类的方法,使得子类的方法与父类的方法具有相同的名称、参数列表和返回类型。覆盖用于实现多态性,即在运行时根据对象的实际类型来调用相应的方法。子类覆盖父类的方法时,可以修改方法的实现,但不能改变方法的签名(即方法的名称、参数列表和返回类型)。覆盖发生在继承关系中,子类可以覆盖父类的方法。

重载是指在同一个类中定义多个方法,它们具有相同的名称但具有不同的参数列表。重载用于实现方法的多态性,即同一个方法名可以根据不同的参数列表来执行不同的操作。重载时,可以改变方法的参数个数、参数类型或参数顺序,但不能改变方法的返回类型。重载发生在同一个类中,同一个方法名下,可以有多个不同的方法。

总结:

  • 覆盖是子类重新定义父类的方法,使其具有相同的名称、参数列表和返回类型,发生在继承关系中。

  • 重载是在同一个类中定义多个方法,它们具有相同的名称但具有不同的参数列表,发生在同一个类中。

版权声明

本文仅代表作者观点,不代表米安网络立场。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门