2011-09-19 42 views
1

因此,可以說有一個與主要方法(slick2d BTW)一類SimpleGame初始化:關於在main方法

public static void main(String[] args) throws SlickException { 
    AppGameContainer app = new AppGameContainer(new SimpleGame()); 

比方說,這個類有許多初始化類中的字段聲明回事, 不會它做了許多不必要的類和字段?

我看到很多代碼使用這個,我從來沒有明白這一點。

+0

我的意思是它創建自己的主要方法,該類有很多領域,不會有很多不必要的領域? – AnonFromSpace

+1

如果有很多初始化正在進行,爲什麼你認爲這是不必要的?要麼這些字段是必要的,或者他們不是 - 從main創建實例與此有些分離。請澄清你的問題。 –

+0

兩個字段,而不是一個。 – AnonFromSpace

回答

5

它不會做許多不必要的類和字段嗎?

沒有,因爲main方法是static,任何字段都只是通過啓動應用程序初始化。

你可以想象做類似new AppGameContainer(this)的事情,但正如你可能知道的那樣,this引用在靜態方法中不可用。

在主要方法中只需執行諸如new AppGameContainer(new SimpleGame())這樣的操作的原因是爲了「逃避」靜態上下文,並獲得具有字段等的正確實例(所有字段都必須是靜態的,這也是認爲不好的做法。)