1、重写(Override)
在子类中把父类本身有的方法重新写一遍。
子类继承了父类原有的方法,在方法名,参数列表,返回类型都相同的情况下,
对方法体进行修改或重写,这就是重写。但要注意子类函数的访问修饰权限不能少于父类的。
注:返回类型 ,子类中方法的返回类型可是是父类中方法返回类型的子类。
2、重载(Overload)
在一个类中,方法名相同,有不同的参数列表(参数类型不同、参数个数不同甚至是参数顺序不同)则为重载。
注:
1、重载对返回类型没有要求,可以相同也可以不同,但是不能通过返回类型是否相同来判断重载。
2、别以形参的名称的不同,视为参数不同。
3、总结
相同:方法重载或重写都是实现多态的方式
多态方式不同:重载是编译时的多态;重写为运行时的多态;
不同:重载发生在一个类中,同名方法,如果有不同的参数类型,或不同的参数个数,或二者兼有,则为重载。
重写发生在子类中,子类重写的方法与父类保持相同的方法名、返回值及参数,同时方法的访问修饰权限不能低于父类。