- 不能重写被标示为final的方法;
- 静态方法不能被重写为非静态的方法;
- 重写方法的访问修饰符一定要大于被重写方法的访问修饰符(public > protected > default > private);
- 被重写的方法不能为private,否则在其子类中只是新定义了一个方法,并没有对其进行重写(即如果不能继承一个方法,则不能重写这个方法);
- 重写方法的参数列表必须完全与被重写的方法的严格相同(不能为子类),否则不能称其为重写,而是重载;
- 重写的方法能够抛出更少或更有限的异常(也就是说,被重写的方法声明了异常,但重写的方法可以什么也不声明);
- 重写的方法所抛出的异常类型必须和被重写方法的所抛出的异常一致,或者是其子类;
- 重写的方法的返回值类型必须和被重写的方法的严格相同(不能为子类)。
Weekend
11 年前
没有评论:
发表评论