java中overwrite和override有什么区别ARTICLE COLUMN

java中overwrite和override有什么区别

敏桥科技 / 阅读

1.概念不同

overwrite是“方法重写”的意思,指当前类的同名方法。通过方法的重写,一个类可以有多个具有相同名字的方法,由传递给它们不同的个数和类型的参数来决定使用哪种方法。因此,重写的名称是当前类中的同名函数,不是父类中的函数名。

override是“方法覆盖”的意思,指子类继承了父类的同名无参函数。当子类从父类继承了一个无参函数,而又定义了一个同样的无参函数,则子类定义的方法覆盖父类的方法,称为覆盖。

2.性质不同

overwrite是一个概念,子类方法与基类或者接口方法同名,我们就称为overwrite。

override是一个关键词,是指可以重写(overwrite)基类或者接口的方法。

3.重写父类方法时的调用不同

Overwrite和override均用于重写父类方法,但两者的区别在于:Overwrite重写父类方法时,如果父类方法被抛弃,就不可以再调用;而override可以借用super()调用父类方法。

延伸阅读

Java中的Overload是什么

Java中的Overload是“重载”的意思,指多个方法具有相同的名字,但有不同的参数列表。重载是一种静态多态,根据参数列表进行最佳匹配,做静态类型检查,在编译阶段时决定要具体执行哪个方法。

Overload(重载)的好处在于,方便client(客户端)调用,client可用不同的参数列表,调用同样的函数。比如想要定义加法的方法,让它可以计算不同类型的数之和,有不同类型的返回值。如果没有重载机制,那么想要定义两个具有相同/相似功能的方法,必须用不同函数名加以区分,如add1,add2,去定义和记住这些方法名字,对开发者和使用者都是一种负担。

重载有五条重要规则:一是,必须有不同的参数列表;二是,可以有相同/不同的返回值类型;三是,可以有相同/不同的访问权限(public/private/protected);四是,可以声明新的异常;五是,可以在同一个类内重载,也可在子类中重载。其中,第一条是重载规则中最本质也是最重要的一条规则。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

相关文章

  • PLM系统在中国有企业使用吗?哪个公司有开发的

    PLM概念最早是由西门子公司(原UG公司)提出的一个产品全生命周期概念。分广义PLM和狭义PLM。玩概念成份相当多一点。广义PLM包括制造环节信息化,即将原来的PDM、ERP、SCM、CRM、MES等...

    敏桥
  • C语言中main函数具体作用是什么

    一、C语言中main函数的作用 1、main函数是C程序的入口函数 即程序的执行从main函数开始,其他函数的调动也直接或间接地在main函数中调用。main函数可以接受两个参数,分别是argc和argv,...

    敏桥