当父类的某个方法的方法体(方法的实现)不适合与子类时,那么子类应该选择重写该方法。
重写的要求:
(1)两同:方法名与形参列表必须相同
(2)两小
返回值类型:基本数据类型和void:子类重写的方法的返回值类型 与 父类被重写的方法的返回值类型 相同
引用数据类型:子类重写的方法的返回值类型 <= 父类被重写的方法的返回值类型
抛出的异常类型:
(3)一大:
权限修饰符:子类重写的方法的权限修饰符 >= 父类被重写的方法的权限修饰符
public > protected > 缺省(没写权限修饰符)> private
问?哪些方法不能被子类重写
(1)父类的private方法是否可以被重写?
不可以,因为父类的私有的方法,在子类中不可见
(2)父类的final方法不能被重写
(3)父类的static方法不能被重写
2、Overload、Override的区别
Overload:方法的重载
Override:方法的重写
方法的重载 方法的重写
声明的位置 同一个类 父子类中
方法名 必须相同 必须相同
形参列表 必须不同 必须相同
返回值类型 无关 <= 基本数据类型和void,必须相同;引用数据类型,可以<=
抛出的异常 无关 <=
权限修饰符 无关(建议一致) >= public > protect > 缺省 > private