आप एक नामित पैकेज से डिफ़ॉल्ट पैकेज में कक्षाओं का उपयोग नहीं कर सकते हैं ।
( तकनीकी रूप से आप कर सकते हैं, जैसा कि प्रतिबिंब एपीआई के माध्यम से शरीक अब्दुल्ला के उत्तर में दिखाया गया है , लेकिन अनाम नामस्थान से कक्षाएं आयात घोषणा में दायरे में नहीं हैं )
J2SE 1.4 से पहले आप इस तरह एक वाक्यविन्यास का उपयोग करके डिफ़ॉल्ट पैकेज से कक्षाएं आयात कर सकते हैं:
import Unfinished;
यही कारण है कि है अब की अनुमति दी । तो एक पैकेज्ड क्लास के भीतर से डिफॉल्ट पैकेज क्लास को एक्सेस करने के लिए डिफॉल्ट पैकेज क्लास को अपने पैकेज में ले जाने की आवश्यकता होती है।
यदि आपके पास ग्रूवी द्वारा उत्पन्न स्रोत तक पहुंच है, तो फ़ाइल को एक समर्पित पैकेज में स्थानांतरित करने और इसकी शुरुआत में इस "पैकेज" निर्देश को जोड़ने के लिए कुछ पोस्ट-प्रोसेसिंग की आवश्यकता होती है।
अपडेट 2014: बग 6975015 , JDK7 और JDK8 के लिए, अनाम पैकेज से आयात के खिलाफ एक भी सख्त निषेध का वर्णन करें ।
TypeName
एक वर्ग के प्रकार, इंटरफ़ेस प्रकार, enum प्रकार, या टिप्पणी का प्रकार का प्रामाणिक नाम होना चाहिए।
प्रकार या तो नामित पैकेज का सदस्य होना चाहिए , या उस प्रकार का सदस्य जिसका बाहरी रूप से सबसे छोटा संलग्न प्रकार एक नामित पैकेज का सदस्य है , या एक संकलन-समय त्रुटि उत्पन्न होती है ।
एंड्रियास टिप्पणियों में बताते हैं :
"क्यों [डिफ़ॉल्ट पैकेज] वहाँ पहली जगह है? डिजाइन त्रुटि?"
नहीं, यह जानबूझकर है।
जेएलएस 7.4.2। बेनाम संकुल कहते हैं: "अनाम संकुल जब छोटे या अस्थायी अनुप्रयोगों के विकास के लिए या जब सिर्फ विकास शुरुआत सुविधा के लिए मुख्य रूप से जावा SE मंच द्वारा प्रदान की जाती हैं।"