**
重写与重载之恩怨情仇篇:
重写(overwriter)
重写的前提是有继承关系:当父类的方法无法满足子类的需求时,子类就需要对父类的方法重写;
秘籍:
1.方法名、参数类型、返回类型都一致。
2.子类的访问权限必须大于等于父类的访问权限
3.子类的异常必须小于父类的异常
重载(overload)
重载是在一个类中存在多个方法名相同,返回值类型不限、形参列表不同(参数类型、参数个数、参数顺序)的方法。
总结:
** 重载和重写都是实现多态的方式,区别在于重载实现的是编译时的多态性,而重写实现的是运行时的多态性。**
编译器无法决定调用哪个重写的方法,因为从变量的类型上是无法做出判断的,要在运行时才能决定;
而编译器可以决定调用哪个重载的方法,因为引用类型是确定的,形参的不同决定了该调用哪个方法。