如题,
方法名相同,参数类型相同
子类返回类型小于等于父类方法返回类型,
子类抛出异常小于等于父类方法抛出异常,
子类访问权限大于等于父类方法访问权限。
class Base {
public Base (){
//...
}
public Base ( int m ){
//...
}
public void fun( int n ){
//...
}
}
public class Child extends Base{
// member methods
}
如果在子类中写:
private void fun( int n ){ //...}
void fun ( int n ){ //... }
protected void fun ( int n ) { //... }
public void fun ( int n ) { //... }
前三个方法都会告诉:Cannot reduce the visibility of the inherited method from Base
只有第四个通过。
本文详细解释了在面向对象编程中,子类如何正确覆盖父类的方法。具体讨论了方法名、参数类型、返回类型、异常抛出及访问权限等方面的要求。
770

被折叠的 条评论
为什么被折叠?



