Следующий допустимый код Java:
enum ProductType {
CASH_BONUS {
void doSomething() {}
},
CUSTOMIZABLE {
void doSomething() {}
}
abstract void doSomething()
}
Но когда я пытаюсь запустить его в консоли Groovy, я получаю ошибки:
Не может быть абстрактного метода в неабстрактный класс. Класс Необходимо указать ProductType. abstract или метод void doSomething () 'должен быть реализован. в строке: -1, столбце: -1
Не может быть абстрактного метода в неабстрактный класс. Класс Необходимо указать ProductType. abstract или метод void doSomething () 'не должно быть абстрактным. at line: 11, column: 3
Кажется, я помню, как читал, что Groovy (пока) не поддерживает методы переопределения для констант перечисления, правильно ли это, и если да, то есть ли элегантный способ имитировать такое поведение?
Это была ошибка, которая была исправлена некоторое время назад в Groovy 1.8.0