java - क्लास स्तरीय विशेषताएँ नल के साथ क्यों काम करती हैं



nullpointerexception class-attributes (1)

मुझे लगता होगा कि निम्नलिखित में NullPointerException फेंक दिया जाएगा

class N { 
    static int i;
    public static void main( String ... args ) { 
        System.out.println( ((N)null).i );
    }
}

लेकिन यह नहीं है क्यूं कर?


क्योंकि i स्थिर (कक्षा स्तर) सदस्य है यह कक्षा के लिए मौजूद है, इसके प्रत्येक वस्तु के लिए इसलिए यह वास्तव में ऑब्जेक्ट के संदर्भ की आवश्यकता नहीं है, इसलिए इस भाग ((N)null) वास्तव में उपेक्षा के लिए छोड़कर, वास्तव में उपेक्षा की जाती है यह Ni प्रतिस्थापित किया जा सकता था






class-attributes