package cn.yyhl.day15;
/*
方法覆盖重写的注意事项:
1必须保证父子类直接方法的名称相同,参数列表页相同。
@overriad:写在方法的前面,用来检测是不是有效的正确覆盖重写。
这个注解就算不写,只要满足条件,也是正确的方法覆盖重写
2子类方法的返回值必须【小于等于】父类方法的返回值范围。
小扩展提示:java.lang.Object类是所有类的公共最高父类(祖宗类),java.lang.String就是Object的子类。
3子类方法的权限必须【大于等于】父类方法的权限修饰符。
小扩展提示:public > protected > (default) > private.
备注:(default)不是关键字default,而是什么都不写,留空。
*/
public class Overriad01 {
}
package cn.yyhl.day15;
public class Fu4 {
public void method(){
}
public Object method1(){
return null;
}
public String method2(){
return null;
}
public String method3(){
return null;
}
public void method4(){
}
}
package cn.yyhl.day15;
public class Zi4 extends Fu4 {
@Override
public void method(){
}
@Override
public String method1(){
return null;
}
@Override
public String method2(){
return null;
}
/* @Override
public Object method3(){ //错误写法,子类方法的返回值必须【小于等于】父类方法的返回值范围。
return null;
}*/
/* private void method4(){//错误写法,子类方法的权限必须【大于等于】父类方法的权限修饰符。
}*/
}