जावा को अन्य वर्गों को आयात करने की आवश्यकता होने पर इंटीजर, स्ट्रिंग इत्यादि जैसी कक्षाओं को आयात करने की आवश्यकता क्यों नहीं है?जावा कब आयात करता है कि आयात कब करें?
उत्तर
java.lang.*
का एक अंतर्निहित आयात है।
:
एक संकलन इकाई स्वचालित रूप से सभी प्रकार के अपने पैकेज में घोषित की पहुंच है और यह भी स्वचालित रूप से सार्वजनिक प्रकार पूर्वनिर्धारित पैकेज
java.lang
में घोषित के सभी आयात करता है।
java.lang
पैकेज डिफ़ॉल्ट रूप से आयात किया जाता है, इसे स्पष्ट रूप से आयात करने की आवश्यकता नहीं होती है।
क्योंकि, वे java.lang.*
पैकेज से संबंधित हैं। और, यह निश्चित रूप से संकलक द्वारा आयात किया जाता है। यदि आप करते हैं, तो यह आपको शिकायत नहीं करेगा।
java.lang
पैकेज में कक्षाओं को आयात करने की आवश्यकता नहीं है (कंपाइलर कार्य करता है जैसे कि वे हमेशा आयात किए जाते हैं)। इस पैकेज में स्ट्रिंग, एनम, रननेबल, नलपोइंटर एक्सेप्शन, और बेशक, मूलभूत रैपर वर्ग जैसे इंटीजर और डबल जैसे कोर क्लासेस शामिल हैं।
java.lang स्वचालित रूप से आयात किया जाता है, आपको इसे मैन्युअल रूप से आयात करने की आवश्यकता नहीं है। – sjas
@sjas क्या मेरे उत्तर में मैंने जो कुछ कहा है उससे अलग है? –
'कंपाइलर कार्य करता है जैसे कि वे हमेशा आयात किए जाते हैं।' ... javac काम नहीं करता है जैसे वे हैं, वे आयात कर रहे हैं। मैं बाल विभाजित नहीं करना चाहता, आपने बस चीजों को सही ढंग से समझाया नहीं है। बीटीडब्लू: मैंने java.lang में निहित कुछ उदाहरणों का जिक्र करने के लिए अपनी पोस्ट को ऊपर उठाया। ;) – sjas
java.lang में-निर्माण, परोक्ष जावा में आयातित, मैन्युअल
आयात करने के लिए does'nt जरूरत के रूप में यह होता है बहुत अक्सर इस्तेमाल किया कक्षाएं, वे यह सिर्फ आपकी सुविधा के लिए आयात करने के लिए वैकल्पिक बना दिया है
जावा में प्रत्येक वर्ग एक पैकेज में है और यदि कोई पैकेज परिभाषित नहीं किया गया है तो इसे डिफ़ॉल्ट पैकेज में समझा जाता है। और पैकेज के शीर्ष पर java.lang है। * इसलिए हमें इसे अन्य कक्षाओं को आयात करने की आवश्यकता आयात करने की आवश्यकता नहीं है।
इंटीजर, स्ट्रिंग आदि कक्षाएं पैकेज java.lang में मौजूद हैं जो डिफ़ॉल्ट रूप से आयात की जाती हैं।
क्या 'java.lang' एकमात्र एक ऑटो-आयात पैकेज है? – zatenzu