2017-04-19 70 views
-1

如何使用Override方法中傳遞的參數?如何使用在Override方法中傳遞的參數?

例如:

@Override 
protected void updateButtonDayDate(Button dayButton,int currentMonth, int day) { 
... 
} 

如何使用dayButton外updateButtonDayDate()方法?

+1

保存對它的引用......但我會有點害怕沒有更多的上下文 – MadProgrammer

+0

你想在這裏實現什麼? –

回答

0

你必須把它分配給全球這樣的:

class YourClass { 
private Button dayButton; 

@Override 
      protected void updateButtonDayDate(Button dayButton,int currentMonth, int day) { 
this.dayButton=dayButton; 
} 
} 

現在你可以使用dayButton任何非靜態方法

+0

那麼在執行的時候dayButton值應該對於兩個變量都是相同的? –

0

你必須要記住,這個值是零,方法執行前內,所以無論是檢查空,或可選

private Optional<Button> dayButton=Optional.empty(); 

    @Override 
    protected void updateButtonDayDate(Button dayButton,int currentMonth, int day) { 
     this.dayButton=ofNullable(dayButton); 
     // rest of the method 
    } 

包裝但這種操作worying,不乾淨:

  • 調用方法兩次將只存儲第二值,所以也許集合

  • 如果彪應用傳遞給該方法的所有按鈕的一些行動,但你不知道什麼時候操作將是執行,則集合將是存儲按鈕引用(看前面的點)

  • 你的方法突破單一職責這種方法的主要更好

相關問題