Java之方法覆写(Override)
Overload方法重载:方法名相同,参数列表不同(类型,数量 ,顺序不同)
为什么需要覆写方法?
当父类中的一个行为不满足子类需要的时候,在子类中覆写父类中的方法
语法:
方法覆写的要求:
①子类方法和父类方法的方法签名(方法名+参数列表)一致
②访问权限 : 子类方法的访问权限(修饰符)不能够比父类方法的访问权限更低
(private < 默认不写 <protected< public)
③ 私有的方法和static 方法不能够被覆写 , 为什么呢? Java规定!
④ 返回值类型 : 子类方法的返回值类型可以是父类方法的返回值类型的子类或者相等
注意问题代码: int long根本不是类,int也不是long的子类 ex:Object和String可以
⑤方法主体 : 方法覆写,子类方法和父类方法主体是否可以一样??可以,但是没有什么用!
验证方法覆写:在编译阶段验证是否覆写: 在子类方法上面加 @Override ,让编译器来检查,如果是正确的覆写,编译通过,否则编译报错