你知道java方法重写是什么意思吗?很多刚刚接触java的人对于这个比较基础内容并不是太了解,下面就一起来看看它的具体含义吧。
方法重写其实指的就是两个方法的返回值、方法名、参数的类型和个数相同,子类重写父类的方法。
方法的重写,不可以发生在同类中,只可以发生在子类中。
假如,子类中方法和父类中某一方法有着同样的方法名、返回类型以及参数表,那么新方法将覆盖原有的方法。
假如,父类中原有的方法,能够使用super关键字,这个关键字引用了当前类的父类。
方法重写的权限
子类中的权限大于或等于父类的权限-修饰符高低:private < 默认修饰符
子类不可以重写父类被声明为private权限的方法(特殊情况)
下面再来介绍一下方法重写的特性:
1、发生方法重写的两个方法返回值、方法名、参数列表必须完全一致(子类重写父类的方法)
2、子类抛出的异常下不可以超过父类相应方法抛出的异常(子类异常不能大于父类异常)
3、子类方法的访问级别不可以低于父类相应方法的访问级别(子类访问级别不能低于父类访问级别)
根据2,3条能够确定第一条,子类重写父类方法的返回值类型不可以大于父类方法的返回值类型,也就是说,子类方法的返回值必须和父类方法的返回值相同或是其子类。
方法的隐藏
假如,子类中定义的静态方法(类方法)和父类中静态方法(类方法)有着同样的返回值类型、方法名、方法参数的类型和个数完全相同,那么,称子类中的这个方法隐藏了父类中的这个方法。
在子类创建的对象调用该隐藏方法的时候,默认调用的是子类中的方法。