overwrite(overheated)

overwrite(overheated)Overload表示过载,override表示覆盖,overwrite表示覆盖。在中文里没有区别,但是如下图,给出英文定义: 当一个类中的两个或两个以上的方法有相同的方法名但参数不同时,就发生了重载…

大家好,我是讯享网,很高兴认识大家。

Overload表示过载,override表示覆盖,overwrite表示覆盖。在中文里没有区别,但是如下图,给出英文定义:
当一个类中的两个或两个以上的方法有相同的方法名但参数不同时,就发生了重载。
override或overwrite是指有两个方法具有相同的方法名和参数(即方法签名)。其中一个方法在父类中,另一个在子类中。

也就是说,重载是指在同一个类中有多个方法名相同的函数,但它们有不同的参数(参数的个数、类型和顺序)。
override和overwrite是子类和父类之间的。子类和父类有相同的方法名和参数列表,但只是重写了方法权重。这就是面向对象编程的多态性。

重载规则:
(1)包含多个同名函数,但参数不同。
(2)参数类型、参数个数、参数顺序(不同类型之间)至少有一处不同。
(3)可以改变返回值类型(不能作为重载的依据)
(4)可以改变访问修饰符(不能作为重载的依据)
(5)可以改变异常类型和数量(不能作为重载的依据)。

重写规则:
(1)存在于子类和父类之间
(2)子类和父类的方法名和参数列表必须完全相同。
(3)返回值类型可以改变,但子类返回值类型必须是父类返回值类型的派生类。
(4)访问修饰符可以改,但是子类权限只能更开放。
(5)声明为final的方法不能被重写。
(6)声明为static的方法不能被重写,但可以重新声明。
(7)构造函数不能被重写。
(8)当子类和父类在同一个包中时,子类可以覆盖父类的所有方法(脱离private和final)。
(9)当子类和父类是final不同的包时,子类只能重写父类的public和protected非final方法。
(10) Override可以抛出任何非强制异常,但不能抛出新的强制异常,或者比父类方法更广泛的异常。

强制异常:您必须在抛出异常的部分尝试catch或throw up。
非强制异常:可以使用也可以不使用try catch和throw。
Java中只有RuntimeException是强制异常,其余都是非强制异常。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。
本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://51itzy.com/4768.html
(0)
上一篇 2024年 10月 7日 20:51
下一篇 2024年 10月 7日 21:00

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注