java方法重写是什么?什么是方法重写?

KLQ 2020-07-09 11:53:06 java常见问答 8685

你知道java方法重写是什么意思吗?很多刚刚接触java的人对于这个比较基础内容并不是太了解,下面就一起来看看它的具体含义吧。

方法重写其实指的就是两个方法的返回值、方法名、参数的类型和个数相同,子类重写父类的方法。

方法的重写,不可以发生在同类中,只可以发生在子类中。

假如,子类中方法和父类中某一方法有着同样的方法名、返回类型以及参数表,那么新方法将覆盖原有的方法。

假如,父类中原有的方法,能够使用super关键字,这个关键字引用了当前类的父类。

方法重写的权限

子类中的权限大于或等于父类的权限-修饰符高低:private < 默认修饰符

子类不可以重写父类被声明为private权限的方法(特殊情况)

下面再来介绍一下方法重写的特性:

1、发生方法重写的两个方法返回值、方法名、参数列表必须完全一致(子类重写父类的方法)

2、子类抛出的异常下不可以超过父类相应方法抛出的异常(子类异常不能大于父类异常)

3、子类方法的访问级别不可以低于父类相应方法的访问级别(子类访问级别不能低于父类访问级别)

根据2,3条能够确定第一条,子类重写父类方法的返回值类型不可以大于父类方法的返回值类型,也就是说,子类方法的返回值必须和父类方法的返回值相同或是其子类。

方法的隐藏

假如,子类中定义的静态方法(类方法)和父类中静态方法(类方法)有着同样的返回值类型、方法名、方法参数的类型和个数完全相同,那么,称子类中的这个方法隐藏了父类中的这个方法。

在子类创建的对象调用该隐藏方法的时候,默认调用的是子类中的方法。

上面的内容你都清楚了吗?更多java基础知识,可以继续通过奇Q工具网来了解哦。

推荐阅读:

java重写和重载的区别是什么?java方法重载和重写详解

java中覆盖是什么意思?java方法覆盖的概念详解