package test; import java.util.ArrayList; import java.util.List; enum Enum1 { A(B.var), B(test.Enum1.A.var), C(constant), D(Enum1.constant), E(staticVar), F(Enum1.staticVar) ; Enum1(String str) { } static final String constant = "const"; static String staticVar = "staticVar"; String var = "var"; } enum Enum2 { A(B.var), B(A.var), C(constant), D(Enum2.constant) ; Enum2(List str) { } static final List constant = new ArrayList<>(); List var = new ArrayList<>(); } enum Enum3 { A(B), B(Enum3.C), C(A), D(Enum3.B), E(constant), F(Enum3.constant), G(A.var), H(staticVar), I(Enum3.staticVar) ; Enum3(Enum3 str) { } static final Enum3 constant = Enum3.A; static Enum3 staticVar = Enum3.B; Enum3 var; } enum Enum4 { A ; static final String C1 = Enum4.D; static final String C2 = D; static final String C3 = A.D; static final String D = ""; }