दिलचस्प पोस्ट
मैं स्ट्रिंग के CRC32 की गणना कैसे करूं? एमवीसी 3 jQuery के प्रमाणीकरण / संख्या / दशमलव क्षेत्र के वैश्वीकरण पाठ फ़ाइलों में स्ट्रिंग की खोज कैसे करें? एएसपी.नेट एमवीसी में मास्टर पेज में डेटा पास करना क्या यह विभिन्न कार्यों में काम चलाने के लिए Gulp को झंडा देना संभव है? वर्ग और उदाहरण विधियों के बीच अंतर क्या है? पूर्णांक का प्रकार डिफ़ॉल्ट रूप से int नहीं? रेमंड को अलग करने के लिए ऊंट कैस या टाईटलसीज (उन्नत) जेएसपी / सर्लेट अनुरोध के रूप में यूनिकोड वर्ण कैसे पास करें। 403 Django ढांचे में एक अजाक्स पोस्ट अनुरोध करते समय निषिद्ध त्रुटि फेसबुक ओपन ग्राफ़ नहीं समाशोधन कैश रूबी में मैं एक हैश कैसे कॉपी करूँ? .equals () और == ऑपरेटर के साथ दो ऑब्जेक्ट्स की तुलना करें सी # टीसीपी क्लाइंट: सीरियल किए गए ऑब्जेक्ट्स को विभाजक का उपयोग करते हैं? BackgroundWorker RunWorkerCompleted ईवेंट

एक जावा फ़ाइल में आयात स्टेटमेंट का अर्थ

क्या कोई भी स्पष्ट रूप से मुझे समझा सकता है कि जब हम जावा फाइलों में आयात स्टेटमेंट का उपयोग करते हैं तो क्या होता है? क्या हम फ़ाइल के आकार में वृद्धि करते हैं यदि हम अधिक से अधिक जावा वर्ग जोड़ते हैं? हम इसके लिए कक्षा लोडर का उपयोग क्यों नहीं करते हैं? और आयात करने के लिए प्रतिबंध क्या हैं?

वेब के समाधान से एकत्रित समाधान "एक जावा फ़ाइल में आयात स्टेटमेंट का अर्थ"

import घोषणाएं ( बयान नहीं) स्रोत कोड स्तर पर अनिवार्य रूप से शॉर्ट-हैंस एनाबलर हैं: यह आपको एकल पहचानकर्ता (उदाहरण के लिए, min ) का उपयोग करके एक प्रकार या static सदस्य को संदर्भित करने की अनुमति देता है (जैसे कि java.util.List , Math.minMath.min )

import घोषणा अनुभाग स्रोत कोड का एक संकलन-समय तत्व है, और रन-टाइम में कोई उपस्थिति नहीं है। जेवीएम बाइटटेकोड में, प्रकार के नाम हमेशा पूरी तरह से योग्य होते हैं, और जब तक आप खराब लिखित कंपाइलर का उपयोग नहीं कर रहे हों, तो द्विआधारी में ऐसे प्रकार के नाम ही शामिल होने चाहिए जिनमें वास्तव में उपयोग किया जा रहा है

वर्ग लोडर पूरी तरह से अलग अवधारणा के लिए उपयोग किया जाता है, और import सुविधा के साथ कुछ भी नहीं करना है।

जेएलएस 7.5 आयात घोषणापत्र

एक आयात घोषणा एक static सदस्य या एक नामित प्रकार को एक साधारण नाम से संदर्भित करने की अनुमति देता है जिसमें एकल पहचानकर्ता होता है। किसी उचित import घोषणा के उपयोग के बिना, एक अन्य पैकेज में घोषित प्रकार को संदर्भित करने का एकमात्र तरीका, या किसी अन्य प्रकार के एक static सदस्य, पूर्णतया योग्य नाम का उपयोग करना है

एकल-प्रकार-आयात घोषणा अपने कैनोनिकल नाम का उल्लेख करके एक नामित प्रकार का आयात करती है।

एक टाइप-आयात-ऑन-डिमांड घोषणा किसी नामित टाइप या पैकेज के सभी पहुंच प्रकारों को आवश्यकतानुसार आयात करता है अनाम पैकेज से एक प्रकार आयात करने के लिए यह एक संकलन समय त्रुटि है।

एक एकल स्थिर आयात घोषणा सभी तरह के स्थैतिक सदस्यों को एक कैनोनिकल नाम देकर एक प्रकार से दिए गए नाम के साथ आयात करता है।

स्थिर-आयात-ऑन-डिमांड घोषणा एक नामित प्रकार के सभी पहुंच योग्य स्थिर सदस्यों को आवश्यकतानुसार आयात करता है

संदर्भ

  • जेएलएस 7.5.1 सिंगल-टाइप-आयात घोषणा
  • जेएलएस 7.5.2 टाइप-आयात-ऑन-डिमांड डिबेलेशन
  • जेएलएस 7.5.3 एकल स्थिर आयात घोषणा
  • जेएलएस 7.5.4 स्टेटिक-आयात-ऑन-डिमांड डिबेलेशन

यह भी देखें

  • जावा ट्यूटोरियल / package सदस्यों का उपयोग करना
  • जावा भाषा गाइड / static import

विभिन्न import संबंधी प्रश्न

import की व्याकरण संबंधी भूमिका पर:

  • import क्या है? – यह एक घोषणा है , बयान नहीं है

ऑन-डिमांड बनाम सिंगल-टाइप:

  • पैकेज आयात करें। * बनाम आयात पैकेज। विशिष्ट टाइप करें
  • जावा आयात कथन के साथ वाइल्ड कार्ड का प्रयोग क्यों करना बुरा है?
  • import java.util.*; बीच क्या अंतर है import java.util.*; और import java.util.Date; ?

import static :

  • import बाद static संशोधक क्या मतलब है?
  • विधियों के स्थिर आयात के लिए एक अच्छा उपयोग क्या है?
  • क्या मुझे स्थिर आयात का उपयोग करना चाहिए?

प्रदर्शन संबंधी मुद्दों:

  • क्या पैकेजों को आयात करना वर्गों की दृश्यता बदलता है? – बिलकुल नहीं!
  • एक प्रोग्राम में कई आयात स्टेटमेंट क्या प्रदर्शन को प्रभावित करते हैं? – नॉप!
  • जावा में अप्रयुक्त आयात को साफ़ करने के अलावा, अव्यवस्था को कम करने के अलावा?

जावा में आयात केवल संकलक के लिए संकेत है यह बाइनरी क्लास फ़ाइल के आकार को बिल्कुल भी प्रभावित नहीं करता है। आप या तो एक बार आयात का उपयोग कर सकते हैं या हर बार जब आप इसका उपयोग करते हैं तो कक्षा का पूरा नाम लिख सकते हैं

आयात केवल डेवलपर की पठनीयता और आलस्य की रियायत है।

संकुल वर्गों से मिलकर होते हैं, एक पैकेज में वर्गों में विधि, वैरिएबल इत्यादि होते हैं। एक वर्ग का एक पूरा नाम है जिसमें पैकेज नाम और कक्षा का नाम शामिल है। यदि आपको अपने कोड में एक वर्ग का उपयोग करने की आवश्यकता है, तो आपको कंपाइलर को कक्षा का पूरा नाम देना होगा। इसलिए, आप एक आयात स्टेटमेंट का उपयोग कर सकते हैं या आप हर जगह अपने कोड में उस श्रेणी का उपयोग करने वाले पूर्णतया योग्य नाम टाइप कर सकते हैं।

उदाहरण के लिए, यदि आपको अपने कोड में AraryList आवश्यकता है, तो आप आयात स्टेटमेंट import java.util.ArrayList; पूरी तरह क्वालीफ़ाइड क्लास नाम टाइप करने के बजाय हर जगह आपको एक ऐरेलिस्ट की आवश्यकता होती है।

अधिक विस्तृत जानकारी के लिए, जेएलएस देखें।

import स्टेटमेंट कंपाइलर से कहता है: अगर आपके पास ऐसा फ़ंक्शन होता है जिसे आयात की सूची में इस वर्ग के रूप में नहीं देखा जा सकता है।

इस तरह आप अन्य संकुलों में परिभाषा (जैसे सी (++) .h फाइलें कॉपी किए बिना फ़ंक्शंस का उल्लेख कर सकते हैं) अपने पैकेज में।

जावा में आयात स्टेटमेंट उन वर्गों को संदर्भित करने के लिए अनुमति देता है जो पूर्ण पैकेज नाम की चर्चा किए बिना उपयोग किए जाने वाले अन्य पैकेज में घोषित किए जाते हैं। यदि आप हमेशा java.util को संदर्भित करने के लिए तैयार हैं तो आपको किसी भी आयात विवरण की आवश्यकता नहीं है। इसके पूर्ण नाम से सूची दें, और अन्य सभी वर्गों के लिए। लेकिन अगर आप इसे सूची के रूप में संदर्भित करना चाहते हैं, तो आपको इसे आयात करना होगा, ताकि संकलक जानता है कि आप किस सूची को संदर्भित कर रहे हैं

Java.lang पैकेज से क्लासेस स्वचालित रूप से आयात किए जाते हैं, उदाहरण के लिए, स्ट्रिंग का संदर्भ देने के लिए आपको इसे स्पष्ट रूप से करने की आवश्यकता नहीं है।

और पढ़ें: http://wiki.answers.com/Q/Why_import_statement_is_needed_in_Java_program#ixzz1zDh2ZBhE