首页 / 科技百科 / 正文

继承中子类重写方法必须满足条件

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

1.父类中的方法在子类中必须可见,即子类继承了父类中的该方法(可以显式的使用super关键字来访问父类中的被重写的方法), 如果父类中的方法为private类型的,那么子类则无法继承,也无法覆盖。

2.子类和父类的方法必须是实例方法,如果父类是static方法而子类是实例方法,或者相反都会报错。 如果父类和子类都是static方法,那么子类隐藏父类的方法,而不是重写父类方法。

3.子类和父类的方法必须要具有相同的函数名称、参数列表,并且子类的返回值与父类相同或者是父类返回类型的子类型(jdk1.5之后)。 如果方法名称相同而参数列表不同(返回类型可以相同也可以不同),那么只是方法的重载,而非重写。 如果方法名称和参数列表相同,返回值类型不同,子类返回值类型也不是父类返回值类型的子类,编译器就会报错。

如有侵权请及时联系我们处理,转载请注明出处来自