Java-方法重载和重写的区别
一、方法的重载(overload)
1.重载的定义:
在同一个类中,存在两个及以上具有相同名字的函数方法,其参数的顺序不同或个数不同或类型不同,我们称之为方法的重载。
2.重载规则:
①必须在同一个类中
②函数名必须相同
③参数列表不同,包括(个数、顺序、类型)
区别重载的方法规则其实是比较简单的,因为每一个重载的方法都应该有独一无二的参数类型列表。
在方法名字相同时,除了可以用观察参数类型的差异以外,还可以用参数顺序的不同来进行判断,但是这种方法不建议使用,会对后期的代码维护带来不便。
简单的重载例子:
二、方法的重写(override)
1.重写的定义:
通过子类重新定义父类,如果子类在定义的过程中存在和父类相同的名字以及参数,被我们称之为重写。
2.重写规则:
①子类对于修饰符的限制一定要比父类访问的修饰符要大。
②不允许产生新的异常,可以抛出非检查异常
简单的重写例子:
三、与多态的联系
方法的重载:实现的是编译时的多态性,也成为前绑定
方法的重写:实现的是运行时的多态性,也成为后绑定