मैंने अभी देखा है कि अजीब कोड के दूसरे प्रश्न में कोड का टुकड़ा। मैंने सोचा कि यह एक StackOverflowError
फेंके जाने में परिणाम होगा, लेकिन यह नहीं है ...यह कथन एक स्टैक ओवरफ्लो त्रुटि क्यों नहीं फेंकता है?
public class Node {
private Object one;
private Object two;
public static Node NIL = new Node(Node.NIL, Node.NIL);
public Node(Object one, Object two) {
this.one = one;
this.two = two;
}
}
मैंने सोचा था कि वह खुद को संदर्भित निर्माण करने के लिए Node.NIL
की वजह से विस्फोट के लिए जा रहा था,।
मुझे यह नहीं पता कि यह क्यों नहीं है।
शायद 'स्थिर 'की वजह से मुझे यकीन नहीं है कि – XtremeBaumer
मुझे उम्मीद है कि' एनआईएल' फ़ील्ड का निर्माण किया गया है क्योंकि इसे' नया नोड (शून्य, शून्य) 'घोषित किया गया था, क्योंकि जब निर्माता को बुलाया जाता है , 'Node.NIL' अभी तक कुछ भी सेट नहीं किया गया है। – khelwood
@ शेल्वुड हाँ, उत्तर के आधार पर मैं वही सोच समझ गया। –