簡體   English   中英

為什么要在Android AIDE中將新值重新分配給最終變量?

[英]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規范參考以支持您的錯誤報告:

JLS 4.12.4 final變量

可以將變量聲明為final。 最終變量只能分配一次。 如果將最終變量賦值給它,則是編譯時錯誤,除非在賦值之前絕對未賦值最終變量( 第16節(確定賦值) )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM