У меня есть следующее перечисление:
enum Days{
TODAY{
@Override
public Date getLowerBound(){
another(); //1
currentUpperBound(); //2
return null;
}
@Override
public Date another() {
return null;
}
};
public abstract Date getLowerBound();
public abstract Date another();
private Date currentUpperBound(){
return null;
}
}
Почему //2
вызывает ошибку времени компиляции с помощью
Cannot make a static reference to the non-static method
currentUpperBound() from the type Days
Но //1
компилируется отлично? Оба метода нестатические. Я не вижу никакой проблемы... Может быть, это имеет какое-то отношение к Eclipse?
ОБНОВЛЕНИЕ: Как заметил в комментарии @Florian Schaetz, если мы объявим метод с модификатором static private
, он будет работать нормально. Почему?