我知道一旦最後一個變量賦值給它,它就不能被改變。不過我只是對本幾個問題:Java - 最終變量
當我有一個場,說
static final JButton button;
一類外,然後在main
方法,嘗試將它分配一個值,button = new JButton("OK");
,我得到一個錯誤告訴我刪除最終修飾符?但是因爲原來的button
變量還沒有引用一個對象,所以我在印象之下可以指定它一次?其次,如果我完全刪除對button
的引用,所以我只有static final JButton button;
以外的類,我的IDE聲稱「空白最終字段按鈕可能沒有被初始化。」這是否意味着所有最終字段必須被初始化?如果是這樣,他們必須在那裏初始化,然後我似乎不能在以後初始化它。此外,愚蠢的問題,但我最初的假設,當一個最終變量引用實例或數據類型,它不能被分配給其他任何東西是正確的,對嗎?
此代碼是不完整的,而是用來說明我的觀點:
public class FinalVarTester {
static final JButton button;
public static void main(String[] args) {
JFrame frame = new JFrame();
Container container = frame.getContentPane();
container.setLayout(new BorderLayout());
button = new JButton("OK");
container.add(button, BorderLayout.SOUTH);
}
}
是不是強制性的,在申報的時間進行初始化最後一個變量? – 2013-07-01 11:36:21