![](/img/trans.png)
[英]Why can't we access or re-assign a value to an OuterClass instance field from within InnerClass, outside its method/block?
[英]Why can I re-assign a new value to a final variable in Android AIDE?
這怎么可能? 如何更改標記為final的變量?
public class Main
{
public static void main(String[] args)
{
final int NUM;
NUM = 22;
NUM = 33;
System.out.println(NUM);
}
}
我在Android中使用AIDE應用...已成功編譯並打印33
。
如果您可以這樣做,那是AIDE應用程序中的錯誤。 您應該將其報告給開發人員。 Java的JLS兼容實現不允許重新分配final
變量(像這樣)。
如果要為他們提供JLS規范參考以支持您的錯誤報告:
可以將變量聲明為final。 最終變量只能分配一次。 如果將最終變量賦值給它,則是編譯時錯誤,除非在賦值之前絕對未賦值最終變量( 第16節(確定賦值) )。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.