overload意为重载。override意为覆盖。overwrite意为重写。从中文意思上看。并无差别。但是如下所示。给出英语定义:
Overloading occurs when two or more methods in one class have the same method name but different parameters.
Overriding or overwrite means having two methods with the same method name and parameters (i.e., method signature). One of the methods is in the parent class and the other is in the child class.
即overload为同一个类中。存在多个方法名相同的函数。但是他们坐拥不一样的参数(参数个数。类别。顺序)。
而override和overwrite为子类和父类之间。子类和父类坐拥一样的方法名和参数列表。只是将方法体重写。这是面向对象编程的多态性。
重载玩法:
(1)包含多个同名函数。但是参数各不相同。
(2)参数类别、参数个数、参数顺序(不一样类别间)至少有一个不一样。
(3)应该变化返回值类别(不应该作为重载判断依据)
(4)应该变化访问修饰符(不应该作为重载判断依据)
(5)应该变化不正常类别和数量(不应该作为重载判断依据)
重写玩法:
(1)存在于子类和父类之间
(2)子类一定和父类的方法名和参数列表一定完整相同。
(3)应该变化返回值类别。但子类返回值类别一定是父类返回值类别的派生类。
(4)应该变化访问修饰符。但是子类权限就只能更开放。
(5)声明为final的方法不应该被重写。
(6)声明为static的方法不应该被重写。但是应该被从头开始声明。
(7)构造器不应该被重写。
(8)子类和父类在同一个包中时。子类应该重写父类全部方法(出private和final)。
(9)子类和父类在不一样包中时。子类就只能重写父类的public和protected的非final方法。
(10)重写应该抛出所有非强力性不正常。但是不应该抛出新的强力性不正常。或者比父类方法更广泛的不正常。
强力性不正常:一定在抛出不正常的部分try catch或者向上throws。
非强力性不正常:用不用try catch和throw都应该。
java中只有RuntimeException是强力性不正常。其余均为非强力性不正常。
您还感兴趣的文章推荐
- 十大帅哥明星排行榜 全球颜值排名前十男2021
- 好用的睫毛膏十大排行榜10强 大家用过最好用的睫毛膏
- 最帅的人是谁 第一名 2020全球最帅100人完整排行榜
- 全球最帅的男人排行榜 盘点历届全球最性感男人今昔对比照
- 搞笑韩剧排行榜前十名 浪漫搞笑爱情喜剧韩剧
以上就是由互联网推广工程师 桔子生活网 整理编辑的,如果觉得有帮助欢迎收藏转发~
本文地址:https://www.wangchuang8.com/87544.html,转载请说明来源于:桔子生活网
声明:本站部分文章来自网络,如无特殊说明或标注,均为本站原创发布。如若本站内容侵犯了原著者的合法权益,可联系进行处理。分享目的仅供大家学习与参考,不代表本站立场。
评论(2)
override与重载的区别 override是什么牌子 这篇解答确实也是太好了
子类,不正常,重写,类别,参数,强力,法名,方法,返回值,抛出
overload意为重载。override意为覆盖。overwrite意为重写。从中文意思上看。并无差别。但是如下所示。