java中方法重载是多态的表现么?
重载是多态。
多态又分为:
- 编译时(静态)多态
- 运行时(动态)多态
重载(Overload)是编译时的多态,因为根据调用传参的类型、数量便可决定调用的是哪个重载方法,因此并不需要推迟到运行时去决定调用哪个方法,所以它是编译期就能决定的。
重写(Override,又称覆盖)是运行时的多态,我们都知道重写的前提是类继承,重写的方法的名称、参数必须跟被重写的方法一致(异常列表、返回结果及访问修饰符等限制这里不赘述),因此无法通过方法参数决定调用的是哪个子类或是父类的方法。只能在运行时通过传入的对象来动态决定。
总结:不管是重载(Overload)还是重写(Override),都是实现Java动态机制的一种手段。
本站文章主要用于个人学习记录,可能对您有所帮助,仅供参考!

