【发布时间】:2018-12-01 05:41:00
【问题描述】:
让我们考虑以下代码。
class A {
final int i =0 ;
...........
....
}
class B extends A {
i = 10 ;
--------
}
在上面的代码中, i 被声明为 Final 。但是在子类 B 中,它已被继承并重新分配为值 10 。
我突然有了这个想法,不幸的是无法下载 javac 编译器我发布了这个问题,以了解是否可以在子类中重新分配最终变量。
那么我们可以重新分配子类中的最终变量吗?
【问题讨论】:
-
"并重新分配为值 10" - 它没有重新分配,因为您的代码无法编译。您需要在方法中重新分配它,但它是
final,所以您不能。 -
基元不能被覆盖。
标签: java inheritance