你对final修饰方法的理解不对。【金城杞人】的回答是正解。
在Java中,某个方法被修饰为final,即表示该方法不能被其子类覆写(Override)。也就是说如果A类定义了final void a(int x){ },则:class B extends A{ void a(int n){} }中的void a(int n){} 是不被允许的,将产生一个语法错误,Eclipse也不例外。
在你示例中wersdr类定义的meng(int k,String n)方法并没有覆盖父类中的任何一个方法,所以自然不会出错。若改成这样就不被允许了:
class wersdf extends Dffgfggfrrhh{
final void meng(int k) { } //覆盖
}
重载:发生在一个类中,是指类中的同名但不同参的方法;
覆盖:发生在父类与子类之间,是指子类中与父类同名同参的方法。
不能override,不是overload
你这个不叫覆盖。顶多算从新定义了一个方法
以上的那个题目我也验过了,是对的