โดยใช้ CLASSPATH คุณสามารถโหลดคลาสใดๆ ในรันไทม์ได้
เหมือนกับไฟล์ซอร์ส .java ไฟล์ .class ที่คอมไพล์แล้วควรอยู่ในชุดของไดเรกทอรีที่สะท้อนชื่อแพ็กเกจ อย่างไรก็ตาม พาธไปยังไฟล์ .class ไม่จำเป็นต้องเหมือนกับพาธไปยังไฟล์ซอร์ส .java คุณสามารถจัดระเบียบไดเรกทอรีซอร์สและคลาสแยกกันได้ ดังนี้:
<path-one>\sources\com\apple\computers\Dell.java <path-two>\classes\com\apple\computers\Dell.class
โดยการทำเช่นนี้ สามารถให้สิทธิ์เข้าถึงไดเรกทอรีคลาสแก่อื่นๆ โปรแกรมเมอร์ได้โดยไม่เปิดเผยซอร์ส คุณยังต้องจัดการไฟล์ซอร์สและคลาสในลักษณะนี้ เพื่อให้คอมไพเลอร์และ Java Virtual Machine (JVM) หาได้ทุกประเภทที่โปรแกรมของคุณใช้
พาธเต็มไปยังไดเรกทอรีคลาส <path-two>\classes เรียกว่า classpath และตั้งค่าด้วยตัวแปรระบบ CLASSPATH ทั้งคอมไพเลอร์และ JVM สร้างพาธไปยังไฟล์ .class ของคุณโดยการเพิ่มชื่อแพ็กเกจเข้าไปใน classpath
สมมติ <path-two>\classes เป็น class path และชื่อแพ็กเกจคือ com.apple.computers แล้วคอมไพเลอร์และ JVM จะค้นหาไฟล์ .class ใน <path-two>\classes\com\apple\computers
Classpath อาจมีหลายพาธ พาธหลายพาธควรคั่นด้วย semicolon (;) ใน Windows หรือ colon (:) ใน Unix โดยค่าเริ่มต้น คอมไพเลอร์และ JVM ค้นหาไดเรกทอรีปัจจุบันและไฟล์ JAR ที่มีคลาสแพลตฟอร์ม Java ดังนั้นไดเรกทอรีเหล่านี้จึงอยู่ใน classpath โดยอัตโนมัติ