2017-02-16 135 views
-5

平庸的問題,但爲什麼有些人這麼寫:對象創建

buttonCounter = new JButton("Click me"); 
panel.add(buttonCounter); 

,正義將是這麼寫:

JButton buttonCounter = new JButton("Click me"); 
panel.add(buttonCounter); 

哪兒有區別嗎?或者他們是不同的話題?

+5

第一種是分配給現有的變量。第二個是聲明和初始化一個新變量。 – khelwood

+0

請通過基本的Java教程,這個主題在最開始的章節中有介紹。 – Maroun

+1

這可能與變量的範圍有關(例如本地,全局)。 – DuKes0mE

回答

3
buttonCounter = new JButton("Click me"); 

意味着buttonCounter聲明別的地方(否則代碼將無法編譯)。

即:

JButton buttonCounter; 
.... 
// some lines of code not referencing `buttonCounter` 
.... 
buttonCounter = new JButton("Click Me") 

另一種方式來聲明&初始化變量將是:

JButton buttonCounter = new JButton("Click me");