方法重写的规则
• 重写方法的参数列表应该与原方法完全相同。
• 返回值类型应该和原方法的返回值类型一样或者是它在父类定义时的子类型。
• 重写函数访问级别限制不能比原函数高。举个例子:如果父类方法声明为公有的,那么子类中的重写方法不
能是私有的或是保护的。
• 只有被子类继承时,方法才能被重写。
• 方法定义为 final,将导致不能被重写。
• 一个方法被定义为 static,将使其不能被重写,但是可以重新声明。
• 一个方法不能被继承,那么也不能被重写。
• 和父类在一个包中的子类能够重写任何没有被声明为 private 和 final 的父类方法。
• 和父类不在同一个包中的子类只能重写 non-final 方法或被声明为 public 或 protected 的方法。
• 一个重写方法能够抛出任何运行时异常,不管被重写方法是否抛出异常。然而重写方法不应该抛出比被重写
方法声明的更新更广泛的已检查异常。重写方法能够抛出比被重写方法更窄或更少的异常。
• 构造函数不能重写。
08-12
08-12
08-12
08-12
08-12