जावा, स्कैला, या आम तौर पर किसी भी जेवीएम भाषा में, संकुल का एक सेट है जो डिफ़ॉल्ट रूप से आयात किया जाता है। उदाहरण के लिए, जावा स्वचालित रूप से java.lang
आयात करता है, आपको इसे अपनी जावा कोड फ़ाइल में करने की आवश्यकता नहीं है।डिफ़ॉल्ट पैकेज आयात
अब मुझे नहीं पता कि कौन सा घटक इस परवाह करता है (कंपाइलर? जेवीएम?), लेकिन क्या अतिरिक्त पैकेज या यहां तक कि डिफ़ॉल्ट रूप से आयातित वर्गों का कोई तरीका है?
कहें कि आपके पास अपने प्रोजेक्ट में उपयोग किए जाने वाले उपयोगिता कार्यों के एक सेट को परिभाषित करने वाला पैकेज है (उदाहरण के लिए स्केल में scala.math
हो सकता है), यह बहुत अच्छा होगा यदि आप प्रत्येक गणित से संबंधित वर्ग में इसके लिए आयात छोड़ने में सक्षम थे।
"अगर आप आयात को छोड़ने में सक्षम थे तो यह बहुत अच्छा होगा"। क्यूं कर? आधुनिक आईडीई में ऑटो-पूर्ण है और आवश्यकतानुसार आयात जोड़ने के लिए कार्य करता है। इसके अलावा, आयात का उद्देश्य ज्यादातर प्रोग्रामर के लिए कोड दस्तावेज करना है। अगर आयात गुम हैं, तो प्रोग्रामर को यह कैसे पता होना चाहिए कि यह तीसरी आर्टी कक्षाओं का उपयोग करता है? –
आपकी पिछली बात, मेरी राय में, परियोजना लेखक द्वारा निर्णय लिया जाना चाहिए। आप उस मुद्दे के बारे में किताबें लिख सकते हैं, इसलिए मैं इसे यहां अलग करना चाहता हूं। आपके पहले बिंदु के बारे में, सच है, कोई भी आधुनिक जावा आईडीई कक्षा के नाम को स्वतः हल कर सकता है और एक आयात जोड़ सकता है। तो यह केवल स्कैला से संबंधित एक मुद्दा हो सकता है। स्कैला (2.8) में, आपके पास "पैकेज ऑब्जेक्ट्स" हो सकते हैं जो पैकेज स्कोप पर फ़ील्ड और विधियों को परिभाषित कर सकते हैं। आप उन परिभाषाओं को दृश्यमान बनाते हैं जैसे कि वे उस वर्ग में परिभाषित किए गए थे जिसमें आप पैकेज आयात करके (वाइल्डकार्ड का उपयोग करके) काम कर रहे हैं। कोई आईडीई इस पल में मुझे जो पता है उससे समर्थन करता है। – pdinklag
@AndrewThompson, बॉयलरप्लेट मेरी आंखों में अक्षमता = अक्षमता। – Pacerier