重载:
1、同一个类中,方法名相同,参数部分不同(参数类型或者参数个数不同),返回类型可同可不同。
旨在类可以用同一个方法对不同的输入参数进行处理。
2、调用方法时根据传入参数来决定使用哪个方法处理——多态性。
重写:
1、父类与子类之间,子类对父类方法的重新定义。又称覆盖。
2、对重写的方法,子类与父类的方法名相同,参数列表相同,返回值也相同。
3、如果需要父类中原有的方法,可使用super关键字,该关键字引用了当前类的父类。
4、子类函数的访问权限不能小于父类的(private-->默认-->protected-->public)。
注:子类不可重写父类的private方法。
在Java中,private的变量和方法对在类外是不可见的,当然更谈不上重写,子类中看似是重写了父类方法,但由于父类中为private,所以子类中的方法与父类中的方法并无任何关系,可以认为是一个全新的方法。
重写方法的规则:
1、参数列表、返回值类型必须完全与被重写的方法相同。
2、访问修饰符的限制一定要大于被重写方法的访问修饰符(public>protected>default>private)
3、重写方法一定不能抛出新的检查异常或者比被重写方法申明更加宽泛的检查型异常(只能抛出父类异常的子异常,可以抛出非检查异常)。
重载方法的规则:
1、必须具有不同的参数列表;
2、可以有不同的返回类型,只要参数列表不同就可以了;
3、可以有不同的访问修饰符;
4、可以抛出不同的异常;