2013-06-12 7 views
14

क्या कोई जावा में सिंथेटिक फ़ील्ड के महत्व को समझने में आसान समझ सकता है। मुझे इसे गैर स्थैतिक आंतरिक कक्षाओं के संदर्भ में पढ़ना याद है जहां प्रत्येक ऐसे आंतरिक वर्ग उदाहरण संलग्न वर्ग के संदर्भ को बनाए रखता है। सिंथेटिक फ़ील्ड नामक ऐसे संदर्भ/फ़ील्ड क्यों हैं?जावा में सिंथेटिक फ़ील्ड क्या हैं?

+0

http://stackoverflow.com/questions/5223268/what-is-the-meaning-of-static-synthetic और http://stackoverflow.com/प्रश्न/7767804/क्या-सिंथेटिक-बैक-रेफरेंस-टू-इन-इनर-इन-क्लास – assylias

उत्तर

15

एक सिंथेटिक फ़ील्ड एक कंपाइलर-निर्मित फ़ील्ड है जो स्थानीय आंतरिक वर्ग को ब्लॉक के स्थानीय चर या संदर्भ प्रकार पैरामीटर से जोड़ता है। कंपाइलर नामों के दायरे को लागू करने के लिए कुछ छिपे हुए फ़ील्ड और विधियों को संश्लेषित करता है। ये फ़ील्ड निजी हैं जब तक कि अन्यथा ध्यान न दिया जाए, या वे अधिकांश पैकेज स्कोप पर हैं। आप अधिक जानकारी के here प्राप्त कर सकते हैं और एक वर्ग के सदस्य है कि स्रोत कोड में प्रकट नहीं होता है एक सिंथेटिक विशेषता का उपयोग कर चिह्नित किया जाना चाहिए JLS

में, वरना यह अपने ACC_SYNTHETIC ध्वज सेट होना चाहिए। इस आवश्यकता के लिए केवल अपवाद संकलक-जनरेटेड विधियां हैं जिन्हें कार्यान्वयन कलाकृतियों, अर्थात् जावा प्रोग्रामिंग भाषा (§2.9), क्लास प्रारंभिक विधि (§2.9), और एनम के डिफ़ॉल्ट कन्स्ट्रक्टर का प्रतिनिधित्व करने वाला इंस्टेंस प्रारंभिक विधि नहीं माना जाता है। मूल्यों() और Enum.valueOf() पद्धतियों ..

+0

"एक सिंथेटिक फ़ील्ड एक कंपाइलर-निर्मित फ़ील्ड है जो स्थानीय आंतरिक वर्ग को ब्लॉक के स्थानीय चर या संदर्भ प्रकार पैरामीटर से जोड़ता है "... मैं इस लाइन के अर्थ को समझ नहीं पा रहा हूं। एक कोड उदाहरण मदद करेगा। – Geek

+1

कोड उदाहरण के लिए आप इस [ब्लॉग] (http://javapapers.com/core-java/java-synthetic-class-method-field/) में देख सकते हैं। – NINCOMPOOP

+0

इसलिए यदि मैं फ़ील्ड पर प्रतिबिंब के माध्यम से क्लोनिंग बना रहा हूं, तो मुझे उन्हें सही छोड़ना होगा? –

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