public enum E {
A(1) {
@Override
void bar() {
foo(this.p);
}
},
B(2) {
@Override
void bar() {
}
};
private int p;
E(int p) {
this.p = p;
}
void foo(int p) {}
abstract void bar();
}