2012-12-23 33 views

उत्तर

46

java.lang.* का एक अंतर्निहित आयात है।

Java specification से

:

एक संकलन इकाई स्वचालित रूप से सभी प्रकार के अपने पैकेज में घोषित की पहुंच है और यह भी स्वचालित रूप से सार्वजनिक प्रकार पूर्वनिर्धारित पैकेज java.lang में घोषित के सभी आयात करता है।

+1

क्या 'java.lang' एकमात्र एक ऑटो-आयात पैकेज है? – zatenzu

31

java.lang पैकेज डिफ़ॉल्ट रूप से आयात किया जाता है, इसे स्पष्ट रूप से आयात करने की आवश्यकता नहीं होती है।

5

क्योंकि, वे java.lang.* पैकेज से संबंधित हैं। और, यह निश्चित रूप से संकलक द्वारा आयात किया जाता है। यदि आप करते हैं, तो यह आपको शिकायत नहीं करेगा।

8

java.lang पैकेज में कक्षाओं को आयात करने की आवश्यकता नहीं है (कंपाइलर कार्य करता है जैसे कि वे हमेशा आयात किए जाते हैं)। इस पैकेज में स्ट्रिंग, एनम, रननेबल, नलपोइंटर एक्सेप्शन, और बेशक, मूलभूत रैपर वर्ग जैसे इंटीजर और डबल जैसे कोर क्लासेस शामिल हैं।

+0

java.lang स्वचालित रूप से आयात किया जाता है, आपको इसे मैन्युअल रूप से आयात करने की आवश्यकता नहीं है। – sjas

+1

@sjas क्या मेरे उत्तर में मैंने जो कुछ कहा है उससे अलग है? –

+0

'कंपाइलर कार्य करता है जैसे कि वे हमेशा आयात किए जाते हैं।' ... javac काम नहीं करता है जैसे वे हैं, वे आयात कर रहे हैं। मैं बाल विभाजित नहीं करना चाहता, आपने बस चीजों को सही ढंग से समझाया नहीं है। बीटीडब्लू: मैंने java.lang में निहित कुछ उदाहरणों का जिक्र करने के लिए अपनी पोस्ट को ऊपर उठाया। ;) – sjas

3

java.lang में-निर्माण, परोक्ष जावा में आयातित, मैन्युअल

1

आयात करने के लिए does'nt जरूरत के रूप में यह होता है बहुत अक्सर इस्तेमाल किया कक्षाएं, वे यह सिर्फ आपकी सुविधा के लिए आयात करने के लिए वैकल्पिक बना दिया है

1

जावा में प्रत्येक वर्ग एक पैकेज में है और यदि कोई पैकेज परिभाषित नहीं किया गया है तो इसे डिफ़ॉल्ट पैकेज में समझा जाता है। और पैकेज के शीर्ष पर java.lang है। * इसलिए हमें इसे अन्य कक्षाओं को आयात करने की आवश्यकता आयात करने की आवश्यकता नहीं है।

1

इंटीजर, स्ट्रिंग आदि कक्षाएं पैकेज java.lang में मौजूद हैं जो डिफ़ॉल्ट रूप से आयात की जाती हैं।

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