overload意为重载,ov极体erride意为覆盖,overwrite意为重写。从中文意思上看,并无差别,但是如下所示,给出英文定义:
overloading occurs when two or mor电气工程及其自动化排名e methods in one class have the same method name but different parameters.
overridi中秋晚会2018ng 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是强制性异常,其余均为非强制性异常。
本文发布于:2023-04-05 11:34:34,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/4ef7b1fc07510130acfb6683c9b290a9.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:override是什么牌子(override与重载的区别).doc
本文 PDF 下载地址:override是什么牌子(override与重载的区别).pdf
留言与评论(共有 0 条评论) |