คุณไม่สามารถใช้คลาสในแพ็คเกจเริ่มต้นจากแพ็คเกจที่มีชื่อ
(ในทางเทคนิคคุณสามารถทำได้ดังที่แสดงไว้ในคำตอบของ Sharique Abdullah ผ่านการสะท้อน API แต่คลาสจากเนมสเปซที่ไม่มีชื่อไม่อยู่ในขอบเขตในการประกาศการนำเข้า )
ก่อนหน้า J2SE 1.4 คุณสามารถอิมพอร์ตคลาสจากแพ็กเกจเริ่มต้นโดยใช้ไวยากรณ์ดังนี้:
import Unfinished;
ที่ไม่ได้รับอนุญาต ดังนั้นในการเข้าถึงคลาสแพ็กเกจเริ่มต้นจากภายในคลาสแพ็กเกจจำเป็นต้องย้ายคลาสแพ็กเกจเริ่มต้นไปยังแพ็กเกจของตนเอง
หากคุณสามารถเข้าถึงซอร์สที่สร้างโดย groovy ได้จำเป็นต้องมีการประมวลผลภายหลังเพื่อย้ายไฟล์ไปยังแพ็กเกจเฉพาะและเพิ่มคำสั่ง "แพ็กเกจ" นี้ที่จุดเริ่มต้น
อัปเดต 2014: ข้อผิดพลาด 6975015สำหรับ JDK7 และ JDK8 อธิบายถึงข้อห้ามที่เข้มงวดยิ่งขึ้นต่อการนำเข้าจากแพ็คเกจที่ไม่มีชื่อ
TypeName
จะต้องเป็นชื่อที่ยอมรับจากประเภทชั้นประเภทอินเตอร์เฟซชนิด enum หรือประเภทคำอธิบายประกอบ
ชนิดต้องเป็นสมาชิกของแพคเกจที่มีชื่อหรือสมาชิกของประเภทที่มีชั้นนอกสุดประเภท lexically ล้อมรอบเป็นสมาชิกของที่แพคเกจชื่อ , หรือรวบรวมข้อผิดพลาดเกิดขึ้นเวลา
Andreasชี้ให้เห็นในความคิดเห็น :
"ทำไมจึงมี [แพ็กเกจเริ่มต้น] ตั้งแต่แรกข้อผิดพลาดในการออกแบบ?"
ไม่มันจงใจ
JLS 7.4.2 แพคเกจที่ไม่มีชื่อกล่าวว่า: "แพ็กเกจที่ไม่มีชื่อให้บริการโดยแพลตฟอร์ม Java SE โดยเฉพาะเพื่อความสะดวกในการพัฒนาแอปพลิเคชันขนาดเล็กหรือชั่วคราวหรือเมื่อเพิ่งเริ่มการพัฒนา"