Вы можете сделать что-то вроде этого:
public enum Actions {
COPY( new AbstractAction() {
public void actionPerformed(ActionEvent e) {
//do something
}
}),
PASTE( new PasteAction() );
public final AbstractAction action;
private Actions(AbstractAction action) {
this.action = action;
}
}
//...
Actions.COPY.action...;
И затем, как говорили другие, используйте enum в сочетании с EnumSet или EnumMap.Лично я не вижу в этом огромной ценности, если просто иметь несколько именованных полей без перечисления.
Я думаю, что вы действительно хотите, это какой-нибудь реестр действий, подобный этому:
Реализация оставлена как упражнение.