Java教程

java基础学习之——子类重写(覆盖)父类的方法必须满足的条件

本文主要是介绍java基础学习之——子类重写(覆盖)父类的方法必须满足的条件,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

子类重写(覆盖)父类的方法必须满足的条件:

1.父类中的方法在子类中必须可见,即子类继承了父类中的该方法(可以显式的使用super关键字来访问父类中的被重写的方法),如果父类中的方法为private类型的,那么子类则无法继承,也无法覆盖。
2.子类和父类的方法必须是实例方法,如果父类是static方法而子类是实例方法,或者相反都会报错。 如果父类和子类都是static方法,那么子类隐藏父类的方法,而不是重写父类方法。
3.子类和父类的方法必须要具有相同的函数名称、参数列表,并且子类的返回值与父类相同或者是父类返回类型的子类型(jdk1.5之后)。 如果方法名称相同而参数列表不同(返回类型可以相同也可以不同),那么只是方法的重载,而非重写。 如果方法名称和参数列表相同,返回值类型不同,子类返回值类型也不是父类返回值类型的子类,编译器就会报错。
4.子类方法的访问权限不能小于父类方法的访问权限(可以具有相同的访问权限或者子类的访问权限大于父类)。 访问权限由高到低:public、protected、包访问权限、private。如果子类方法的访问权限低于父类,则编译器会给出错误信息
5.子类方法不能比父类方法抛出更多的编译时异常(不是运行时异常),即子类方法抛出的编译时异常或者和父类相同或者是父类异常的子类。

 

 

from:java基础学习之——子类重写(覆盖)父类的方法必须满足的条件 - it610.com

这篇关于java基础学习之——子类重写(覆盖)父类的方法必须满足的条件的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!