java面试题!!!!!!!!!

  1. 哪二种声明防止方法覆盖? AD A、final void methoda() {} B、void final methoda() {} C、static void methoda() {} D、static final void methoda() {} E、final abstract void methoda() {}

B,C,E为什么不对呀 真心求教!!!

还是先去恶补下java基础语法吧。
首先,静态方法是通过类名访问的,不存在继承、重写这种概念;
其次,final修饰的非静态方法、可被继承的方法(protected,public,package)才能不被其子类重写,抽象方法不能用final修饰,因为抽象方法必须有子类去实现。
所以,正确的声明方法只有A,连D也是错误的,

补充SL的,静态方法是可以被子类继承,但是不能被重写