重载与覆写的区别

  • 重载
重载是发生在一个类中,
方法名称相同、参数的类型及个数甚至是顺序不同,
不受权限的限制,
返回值类型可以相同也可以不同。
  • 覆写
覆写是发生在继承关系之中,
子类和父类定义了方法名称相同、参数类型及个数、返回值类型完全相同的方法时所发生的操作,
在子类覆写父类方法时,
被覆写的方法不能拥有比父类更严格的访问权限,
覆写的方法不能抛出新的检查异常或者比被重写方法申明更加宽泛的检查型异常。
Override注解:用来检测当前的方法,是否是重写的方法,起到【校验】的作用

重载与覆写的区别如下

一、定义不同

  1. 覆写(又叫做重写) 具体解释是重写(覆盖)了一个方法,以实现不同的功能。
    一般是用于子类在继承父类时,重写(重新实现)父类中的方法。
  2. 重载,简单说就是函数或者方法有相同的名称,但是参数列表不相同的情形,
    这样的同名不同参数的函数或者方法之间,互相称之为重载函数或者方法。

二、关系不同

  1. 覆写是子类和父类之间的关系,是垂直关系;

  2. 重载是同一个类中方法之间的累加,是水平关系。

三、方法的数量不同

  1. 覆写只能由一个方法,或只能由一对方法产生关系;
  2. 重载是多个方法之间的关系。

四、参数不同

  1. 覆写要求参数列表相同。
  2. 重载要求参数列表不同。