2010-05-11 8 views
8

माना जाता है कि उसने हमें वास्तविक कोड नहीं दिखाया है, बस इसका उल्लेख किया है, मुझे यह बेहद विचित्र लगता है।क्या यह मान्य जावा कोड है? मेरे शिक्षक का दावा है कि यह है, लेकिन मुझे वास्तव में इतना यकीन नहीं है कि

उदाहरण के लिए

, वह क्या कहा यह वैध जावा है के अनुसार:

public class Person 
{ 
    String Name; 
    int Age; 

    { 
     //These two braces just chilling together - VALID? :O 
    } 
} 
+9

आप इसे अपने लिए क्यों संकलित नहीं कर सकते? – someguy

+5

आग लगाना (या कोई अन्य आईडीई) और इसे स्वयं टाइप करें - आईडीई शिकायत नहीं करेगा। – bergyman

+0

ज़रूर - इसे आज़माएं। यह ज्यादातर भाषाओं में मान्य है। खैर, मैंने जो कुछ विकसित किया है। बस यह सुनिश्चित करने के लिए कि मैंने कोड में कोशिश की है, मैंने अभी खुला है। –

उत्तर

16

हाँ - यह instance initializer है। आप इसे Double-Brace Initialization के लिए anonymous subclasses के साथ भी उपयोग कर सकते हैं।

+0

बीच में अर्ध-कॉलन के साथ नहीं। {} सिर्फ एक स्कोप परिभाषा है। – vfilby

+5

नहीं, जब यह कक्षा के शरीर में चारों ओर तैरता नहीं है - यह एक खाली उदाहरण प्रारंभकर्ता है। विधियों के अंदर, फिर हाँ, यह एक दायरा परिभाषा है। – gustafc

+2

@ vfilby: नहीं, अगर यह कक्षा के भीतर एक ब्लॉक है लेकिन किसी विधि या कन्स्ट्रक्टर के भीतर नहीं है, तो यह एक उदाहरण प्रारंभकर्ता है। –

संबंधित मुद्दे