如何使用Override方法中传递的参数?
例如:
@Override
protected void updateButtonDayDate(Button dayButton,int currentMonth, int day) {
...
}
如何在updateButtonDayDate()方法之外使用dayButton?
答案 0 :(得分:0)
你必须像这样将它分配给全球:
class YourClass {
private Button dayButton;
@Override
protected void updateButtonDayDate(Button dayButton,int currentMonth, int day) {
this.dayButton=dayButton;
}
}
现在您可以在任何非静态方法中使用dayButton
答案 1 :(得分:0)
你需要记住,在方法执行之前,这个值将为null,因此要么检查null,要么包装在Optional
中 private Optional<Button> dayButton=Optional.empty();
@Override
protected void updateButtonDayDate(Button dayButton,int currentMonth, int day) {
this.dayButton=ofNullable(dayButton);
// rest of the method
}
但是这个操作很有意思,不干净:
两次调用方法只会存储第二个值,所以可能是一个集合
如果对传递给此方法的所有按钮应用某些操作,但是您不知道何时执行操作,那么集合将更好地存储按钮引用(请看上一点)
您的方法打破此方法的单一责任主体