【发布时间】:2013-12-17 13:02:46
【问题描述】:
那么在下面的情况下我需要重复final吗?
interface Foo {
void meth(final Bar bar);
}
public Baz implements Foo {
@Override
void meth(/* is it final ?*/ Bar bar){}
}
这个问题不仅是接口继承,还有类继承——我猜答案是一样的
【问题讨论】:
-
您有什么理由不能直接点击编译并亲自查看?
-
final不是方法签名的一部分。它在您的接口定义中是多余的。 -
阅读Java中signature的定义——它基于方法名和参数类型,没有别的。
-
@SameerSawla:是的,这就是为什么我说“
final不是 方法 签名的一部分”;) -
@Mr_and_Mrs_D:但它没有记录任何内容... ;)
final是一个内部实现细节。
标签: java inheritance final