重载overload和重重写override的区别

时间:2022-10-15 09:19:37

重载表示同一个类中可以有多个方法名相同,参数列表不同的方法。

重写表示子类中的方法可以与父类中的某个方法的名称和参数完全相同。

  对父类方法进行重写后,在通过子类创建的实例对象调用这个方法时,将调用子类中定义的方法。

  如果父类的方法是private类型,则在子类中就不存在重写,相当于子类中增加了一个全新的方法。

重载(overload)(发生在同一个类,也可以发生在父类和子类中)

  1. 参数个数,顺序,类型至少有一个不相同。

  2. 存在父类和子类、同类中。

  3. 不能重载只有返回值不同的方法名。

重写(override)(发生在父类和子类中)

  1. 方法名,参数名,返回值相同。

  2. 子类方法不能缩小父类方法的访问权限。

  3. 子类方法不能抛出比父类方法更多异常,但子类可以不抛出异常。

  4. 存在于父类和子类之间。

  5. 定义为final的方法不能被重写。

 

若有错误之处,欢迎指正。谢谢!