यह कोड संकलित नहीं होगा क्योंकि स्थिर क्षेत्र के लिए एक अवैध संदर्भ है।यह enum कोड एक स्थिर क्षेत्र के लिए एक अवैध संदर्भ क्यों है?
public enum Foo {
A,
B;
private Foo[] foos = new Foo[] { Foo.A };
}
क्या आप एक गैर स्थैतिक क्षेत्र प्रारंभकर्ता से स्थिर फ़ील्ड तक पहुंचने में सक्षम नहीं होना चाहिए? उदाहरण के लिए:
public class Foo {
static int A;
private int[] foos = new int[] { Foo.A };
}
यह ठीक संकलित करता है।
नोट, पहले उदाहरण संकलन में foos
स्थिर बनाते हैं।