2010-07-01 37 views
3

我有這樣的代碼:內部類改性擁有類的屬性

class Foo() { 
    time_to_play = 0 
    class Bar() { 
     void change_player() { 
      //I need something HERE 
     } 
    } 

} 

,我需要的屬性time_to_playFoo類的變化,但是從方法change_player()內作出這種改變,那就是下Bar類。

我不能在class Foo之外聲明類Bar,並做一個'extend',並調用super。 ...,因爲它會打破我的情況下的面向對象。

另外,我不想讓time_to_play一個靜態變量,調用Foo.time_to_play

我怎樣才能做到這一點?

+0

另外,忽略了語言的詞法錯誤。 – 2010-07-01 14:00:25

回答

6

你想要的是:

void change_player() { 
    Foo.this.time_to_play = // something 
} 
+0

當然,這僅在內部類具有相同名稱的字段的情況下才需要。然後再一次肯定是很好的。 – musiKk 2010-07-01 14:09:39

+0

@musikk yup,我喜歡在我的代碼中顯式。 – jjnguy 2010-07-01 14:18:38