比较Java方法的重载与覆盖

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了比较Java方法的重载与覆盖相关的知识,希望对你有一定的参考价值。



重载(overload)覆盖(override)
概念存在于同一个类中的多个同名方法,返回值类型相同,参数列表不同派生类重新定义与基类方法同名的方法,返回值类型和参数列表均相同,只是行为不同
出现位置
同一个类中有继承关系的不同类中
返回值类型
相同相同
参数列表参数个数不同,或参数类型不同相同
特点与返回值类型无关,只关注参数列表

(1)派生类方法可以分配与基类方法同样或更大的访问权限

(2)派生类不能覆盖标记为final的基类方法

(3)派生类方法可以抛出与基类方法相同的异常、子类异常、运行时异常或错误,但是不能抛出新的异常或超类异常

应用场景完成同样任务且只是输入量不同的场景,使用同名方法便于阅读需要重新定义继承行为的场景,这也往往是使用继承关系的主要目的


本文出自 “青春是人生的实验课” 博客,请务必保留此出处http://liusibo.blog.51cto.com/1382721/1921233

以上是关于比较Java方法的重载与覆盖的主要内容,如果未能解决你的问题,请参考以下文章

Java中方法的重载与覆盖(随笔01)

JAVA面向对象 - 方法重载与覆盖

Java中的Overload(重载)与Override(重写覆盖)

Java基础之方法的重载与覆盖

Android-Java-普通类与抽象类(覆盖)&方法重载

java中方法的重载与重写的区别