首页天道酬勤java重写与重载的区别,java什么是抽象类

java重写与重载的区别,java什么是抽象类

张世龙 05-05 14:50 24次浏览

我相信对于刚加入java的朋友们来说,重写和重载经常是愚蠢的,不清楚吧。 没关系。 感兴趣地把它们弄清楚的伙伴们,一起看看编辑吧。 java中重写和重载的明显区别是什么?

重写(Override ) :

重写是子类重写允许父类访问的方法的实现过程,不能更改返回值,也不能更改参数。

重写的优点是子类可以根据需要定义自己特定的行为。 这意味着子类可以根据需要实现父类的方法。

改写方法不能抛出比新的检查异常或改写方法qrdlh更宽的异常。 例如,父级的一种方法qrdlh检测到检测异常

虽然是IOException,但在重写此方法时不能抛出Exception异常。 这是因为Exception是IOException的父类,因此只能抛出IOException子类的异常。

的改写规则如下。

参数列表必须与重写的方法完全相同;

返回类型必须与已重写方法的返回类型完全相同。

访问权限不能低于父类的重写方法。 例如,如果父类中的一个方法声明为public,则在子类中重写该方法将无法声明为protected。

父类的成员方法只能由其子类重写。

声明final的方法是不可重写的。

无法重写声明为静态的方法,但可以再次声明。

如果子类和父类位于同一包中,则子类可以重写父类中的所有方法,但声明为private和final的方法除外。

如果子类和父类不在同一包中,则子类只能重写声明为父类的公共和保护的非final方法。

无论重写的方法是否抛出异常,重写的方法都可以抛出非强制异常。 然而,重写方法不能抛出新的强制异常,或者是比以重写方法声明的更广泛的强制异常,并且可以相反。

结构方法是不可改写的。

如果你说不能继承一个方法,你就不能重写这个方法。

重载(Overload ) :

“重载”(overloading )是指在一个类中方法名称相同,参数不同。 返回值的类型可以相同也可以不同。

每个重载方法或构造函数都需要一个唯一参数类型列表。

只能重载构造函数;

重载规则如下:

重载方法需要修改参数列表(参数的数量或类型或顺序不同)。

重新加载的方法可以改变返回类型;

被重载的方法可以变更访问修饰符;

重载方法可以宣告新的或更广的检测异常;

方法可以在同一类或子类中重载。

因此,不能将返回值类型作为重载函数的区分标准。

以上是有关java改写和重载的所有内容。 另外,我想了解更多java的入门知识。 记得关注本站信息获取更多信息哦。

请阅读:

java多态,简述重写和重载