नीचे दिए गए आरेख के अनुसार, इंटरफ़ेस को छोड़कर Iterable, सभी शेष निर्माण (इंटरफ़ेस / वर्ग / सार वर्ग) एक ही पैकेज में बैठते हैंjava.util

पैकेज Iterableमें क्यों बैठता है java.lang?
नोट: इरादा जावा प्रोग्रामिंग के पैकेजिंग पहलू को समझने का है।
नीचे दिए गए आरेख के अनुसार, इंटरफ़ेस को छोड़कर Iterable, सभी शेष निर्माण (इंटरफ़ेस / वर्ग / सार वर्ग) एक ही पैकेज में बैठते हैंjava.util

पैकेज Iterableमें क्यों बैठता है java.lang?
नोट: इरादा जावा प्रोग्रामिंग के पैकेजिंग पहलू को समझने का है।
जवाबों:
जैसा कि इसके javadoc में बताया गया है , इसका उद्देश्य विशेष भाषा के सिंटैक्सIterable का समर्थन करना है :
इस इंटरफ़ेस को लागू करने से किसी ऑब्जेक्ट को "फ़ॉरच" कथन का लक्ष्य बनाया जा सकता है
जैसे, यह लंग पैकेज के अंतर्गत आता है , जो
जावा प्रोग्रामिंग भाषा के डिजाइन के लिए मौलिक कक्षाएं प्रदान करता है।
चित्र पर अन्य वर्गों के हैं JCF और इसलिए, में हैं util पैकेज जो
संग्रह की रूपरेखा सम्मिलित है ...
Iteratorआदर्श रूप में भी होना चाहिए java.lang, क्योंकि Iterableहै। बेशक, यह java.utilपिछड़े-अनुकूल कारणों के लिए होना चाहिए ("फॉर्च्यूनर" के निर्माण से बहुत पहले ही इसे जेडीके में पेश किया गया था क्योंकि इसने भाषा में एक भूमिका दी है)।
Iterableपर Iterator , java.langपैकेज आम तौर पर में कक्षाओं पर निर्भर नहीं करता java.util।)
क्योंकि बहुत सारी चीजें इंटरफ़ेस को लागू करती हैं या इसे उप इंटरफ़ेस के रूप में विस्तारित करती हैं।
कार्यान्वयन कक्षाएं हैं:
यह बहुत बड़ी सूची है। और यह वहाँ से बाहर पैकेज के सभी प्रकार पर छूता है।
इसके अलावा, आप परिपत्र पैकेज निर्भरता को कम करना चाहते हैं । यदि पैकेज ए में एक वर्ग पैकेज बी में एक वर्ग पर निर्भर करता है जो पैकेज ए में वर्ग पर निर्भर करता है, तो आपको एक परिपत्र निर्भरता मिली है। वे हमेशा खराब नहीं होते हैं कि वे मौजूद हों - लेकिन वे अन्य परिपत्र निर्भरता की ओर ले जाते हैं और यह एक बुरी बात हो सकती है। यह अपने आप से बुरा नहीं है, लेकिन यह एक डिजाइन गंध है जो इंगित करता है कि दो वर्गों या पैकेजों के बीच युग्मन बहुत तंग है। यह तकनीकी ऋण संचय की शुरुआत है।
इसका समाधान यह है कि "हां, Iterable इंटरफ़ेस कुछ ऐसा है जो कि विभिन्न प्रकार के वर्गों और पैकेजों में पूरे जावा और javax संरचना पर निर्भर है। यह भाषा पुस्तकालयों - जावा के सबसे आधार में होना चाहिए। .lang। "
और वह वह जगह है जहां तुम इसे पाओगे।
संबंधित पढ़ना: