CLASSPATH का उपयोग करके, आप किसी भी कक्षा को रनटाइम पर लोड कर सकते हैं।
जावा स्रोत फ़ाइलों की तरह, संकलित .class फ़ाइलें निर्देशिकाओं की एक श्रृंखला में होनी चाहिए जो पैकेज नाम को दर्शाती हैं। हालाँकि, .class फ़ाइलों का पथ .java स्रोत फ़ाइलों के पथ के समान नहीं होना चाहिए। आप अपने स्रोत और कक्षा निर्देशिकाओं को अलग-अलग व्यवस्थित कर सकते हैं, जैसे -
<path-one>\sources\com\apple\computers\Dell.java <path-two>\classes\com\apple\computers\Dell.class
ऐसा करने से, आपके स्रोतों का खुलासा किए बिना अन्य प्रोग्रामर को कक्षा निर्देशिका तक पहुंच देना संभव है। आपको स्रोत और वर्ग फ़ाइलों को इस तरह से प्रबंधित करने की भी आवश्यकता है ताकि संकलक और जावा वर्चुअल मशीन (JVM) आपके प्रोग्राम द्वारा उपयोग किए जाने वाले सभी प्रकारों को ढूंढ सकें।
क्लास डायरेक्टरी का पूरा पथ, <पथ-दो>\classes, को क्लासपाथ कहा जाता है और क्लासस्पैट सिस्टम वैरिएबल के साथ सेट किया जाता है। कंपाइलर और JVM दोनों ही क्लासपाथ में पैकेज का नाम जोड़कर आपकी .class फ़ाइलों के लिए पथ का निर्माण करते हैं।
मान लें कि <पथ-दो>\classes वर्ग पथ है, और पैकेज का नाम com.apple.computers है, तो संकलक और JVM <पथ-दो>\classes\com\apple\computers में .class फ़ाइलों की तलाश करेंगे।
एक क्लासपाथ में कई पथ शामिल हो सकते हैं। एकाधिक पथों को अर्धविराम (विंडोज़) या कोलन (यूनिक्स) द्वारा अलग किया जाना चाहिए। डिफ़ॉल्ट रूप से, कंपाइलर और JVM जावा प्लेटफ़ॉर्म क्लासेस वाली वर्तमान निर्देशिका और JAR फ़ाइल को खोजते हैं ताकि ये निर्देशिकाएँ स्वचालित रूप से क्लासपाथ में हों।