static
सदस्यों (static
फ़ील्ड या static
विधियां) जावा में इस कक्षा की वस्तुओं के बजाय अपने संबंधित वर्ग से जुड़े हुए हैं। निम्न कोड null
संदर्भ पर स्थिर फ़ील्ड तक पहुंचने का प्रयास करता है।जावा में एक शून्य संदर्भ पर स्टेटिक फ़ील्ड
public class Main
{
private static final int value = 10;
public Main getNull()
{
return null;
}
public static void main(String[] args)
{
Main main=new Main();
System.out.println("value = "+main.getNull().value);
}
}
main.getNull()
हालांकि रिटर्न null
, यह काम करता है और प्रदर्शित करता है value = 10
। यह कोड कैसे काम करता है?
हो सकता है कि इस सवाल का मदद कर सकते हैं यह समझ: [कैसे एक अशक्त संदर्भ पर एक (स्थिर) विधि लागू NullPointerException फेंक नहीं है आया है?] (Http://stackoverflow.com/questions/3293353/ कैसे-आओ-invoking-a-static-method-on-a-null-context-doesnt-throw-nullpointe? rq = 1) –
मज़े के लिए, 'मुख्य मुख्य = शून्य; main.getNull()। मान'। –
यह मुझे 'नया थ्रेड [] {} [- 1]। नींद (10) की याद दिलाता है, जहां नींद() एक स्थिर विधि है। यह कुछ पुराने जावा संस्करणों पर सफल होने के लिए प्रयोग किया जाता था। – hertzsprung