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(){//错误写法,子类方法的权限必须【大于等于】父类方法的权限修饰符。 }*/ }