คลาสอาจต้องการวัตถุที่ประกาศโดยคลาสอื่นเป็นสมาชิกของตัวเองหรือตัวแปรท้องถิ่นในเมธอด ถ้าทั้งสองคลาสอยู่ในแพ็คเกจเดียวกันก็ไม่มีปัญหา แต่ถ้าทั้งสองคลาสไม่อยู่ในแพ็คเกจเดียวกัน ต้องใช้คำสั่งนำเข้า
นำเข้าคลาสจากไลบรารีคลาส
ใช้คำสั่งนำเข้าเพื่อแนะนำคลาสในแพ็คเกจ เมื่อเขียนไฟล์ต้นฉบับ นอกเหนือจากการเขียนคลาสด้วยตัวเอง คุณมักจะต้องใช้คลาสจำนวนมากที่จัดทำโดย Java ซึ่งอาจอยู่ในแพ็คเกจที่แตกต่างกัน
ในการใช้คลาสที่ Java เตรียมไว้ให้ คุณสามารถใช้คำสั่งนำเข้าเพื่อแนะนำคลาสในแพ็คเกจได้ สามารถมีคำสั่งนำเข้าได้หลายคำสั่งในซอร์สโปรแกรม Java และจะต้องเขียนระหว่างคำสั่งแพ็คเกจ (หากมีคำสั่งแพ็คเกจ) และคำจำกัดความของคลาสในไฟล์ต้นฉบับ Java มีแพ็คเกจประมาณ 130 รายการ
ตัวอย่างเช่น:
java.lang มีคลาสภาษาพื้นฐานทั้งหมด
java.io มีคลาสอินพุตและเอาต์พุตทั้งหมด
java.util มีคลาสยูทิลิตี้
java.sql มีคลาสสำหรับฐานข้อมูลปฏิบัติการ
java.net มีคลาสทั้งหมดที่ใช้ฟังก์ชันเครือข่าย
หากคุณต้องการแนะนำคลาสทั้งหมดในแพ็คเกจ คุณสามารถใช้เครื่องหมายดอกจัน (*) แทนได้ เช่น:
importjava.util.*;//บ่งชี้ถึงการแนะนำคลาสทั้งหมดในแพ็คเกจ java.util importjava.util.Date;//บ่งชี้ถึงการแนะนำคลาส Date ในแพ็คเกจ java.util
นำเข้าคลาสจากแพ็คเกจแบบกำหนดเอง
โปรแกรมผู้ใช้ยังสามารถใช้คำสั่งนำเข้าเพื่อแนะนำคลาสที่มีชื่อแพ็คเกจในไลบรารีที่ไม่ใช่คลาสได้ ตัวอย่างเช่น:
importtom.jiafei.*;
เพื่อให้โปรแกรมของตนเองใช้คลาสในแพ็คเกจ tom.jiafei ผู้ใช้สามารถระบุตำแหน่งของแพ็คเกจ tom.jiafei ใน classpath ได้ สมมติว่าตำแหน่งของแพ็คเกจ tom.jiafei คือ C:1000 คือคลาสที่มีชื่อแพ็กเกจ tom.jiafei รหัสไบต์ถูกจัดเก็บไว้ในไดเร็กทอรี C:1000tomjiafei ผู้ใช้สามารถอัพเดตค่าของ classpath ได้ เช่น:
setclasspath=C:jdk1.6jrelibrt.jar;.;C:1000/* หมายความว่าสามารถโหลดคลาสแพ็กเกจที่ไม่มีชื่อในไดเร็กทอรี C:1000 และไดเร็กทอรีสืบทอดใน C: 1,000 ไดเรกทอรีสามารถใช้เป็นชื่อแพ็คเกจเพื่อใช้ */
หากผู้ใช้ไม่ต้องการอัพเดตค่า classpath ผู้ใช้สามารถสร้างโครงสร้างไดเร็กทอรีย่อยที่สอดคล้องกับแพ็คเกจในไดเร็กทอรีที่โปรแกรมผู้ใช้ตั้งอยู่
ตัวอย่างเช่น: ไดเร็กทอรีที่มีคลาสหนึ่งในโปรแกรมผู้ใช้คือ C:2000 หากคลาสนี้ต้องการใช้คำสั่งนำเข้าเพื่อแนะนำคลาสในแพ็คเกจ tom.jiafei ให้สร้างโครงสร้างไดเร็กทอรี C:2000 tomjiafei ตามชื่อแพ็คเกจ ไม่จำเป็นต้องแก้ไขค่าของ classpath เนื่องจากค่า classpath เริ่มต้นคือ:
C:jdk1.6jrelibrt.jar;.;/* ".;" หมายความว่าสามารถโหลดคลาสแพ็กเกจที่ไม่มีชื่อในไดเร็กทอรีปัจจุบันของแอปพลิเคชันได้ และไดเร็กทอรีสืบทอดภายใต้ไดเร็กทอรีปัจจุบันสามารถใช้ได้ เป็นชื่อแพ็คเกจ* /