【发布时间】:2015-07-18 05:17:22
【问题描述】:
我正试图摆脱代码中的所有警告,今晚我注意到来自 Netbeans 的这个警告(不是编译器警告)。拿这个代码:
class A {
public Void method1() {
return null;
}
public final Void method2() {
return null;
}
}
method2()Netbeans 说:
方法method2被声明为final
但这有什么问题呢?在该类的实现中,它按预期工作:
class SubA extends A {
@Override
public Void method1() {
return super.method1();
}
@Override
public Void method2() { // <---- this throws an error
return super.method2();
}
}
那么为什么 Netbeans 会抱怨呢?
注意:我知道我可以关闭警告(并且我知道如何关闭),但我想知道它背后的逻辑(如果有的话)。
【问题讨论】:
-
不能覆盖
final方法>>>>> -
你读过这个问题吗?我知道这一点,这正是我想要创建最终方法的原因。我想知道为什么 Netbeans 抱怨它。
-
检查你的 netbeans 设置,它是这样配置的,给你警告。您可以禁用它。