मैं क्लास लोडिंग के समय उपस्थिति के क्रम में स्थिर स्थिर चर और स्थैतिक प्रारंभकर्ता निष्पादित करना चाहता हूं। इसलिए, यदि आपका स्थैतिक प्रारंभकर्ता कुछ स्थैतिक चर पर निर्भर करता है, तो इसे विशेष स्थिर ब्लॉक से पहले प्रारंभ किया जाना चाहिए, उदा।
final static String JDBC_DRIVER = getJdbcDriver();
static
{
try
{
Class.forName(JDBC_DRIVER);
}
catch (ClassNotFoundException exception)
{
log.error("ClassNotFoundException " + exception.getMessage());
}
}
इस उदाहरण getJdbcDriver
में स्थिर प्रारंभकर्ता से पहले मार डाला जाएगा। इसके अलावा, कक्षा में 1 से अधिक स्थिर प्रारंभकर्ता हो सकते हैं। एक बार फिर वे उपस्थिति के क्रम में निष्पादित कर रहे हैं।
मैं यहां उदाहरण प्रारंभकर्ताओं के अस्तित्व का भी उल्लेख करना चाहता हूं, क्योंकि पहली बार देखा जाने पर वे आश्चर्यचकित हो जाते हैं। वे कक्षा के शरीर के अंदर एक कोड ब्लॉक की तरह दिखते हैं।
class MyClass
{
final int intVar;
{
intVar = 1;
}
}
सामान्य स्थिति में उनके उपयोग निर्माता की वजह से कुछ हद तक अनावश्यक है, है, लेकिन वे बंद होने के जावा के संस्करण को लागू करने में उपयोगी होते हैं।
स्रोत
2009-11-15 12:36:02
डुपे। http://stackoverflow.com/questions/335311/java-static-keyword – finnw