CLASSPATH` ব্যবহার করে আপনি রানটাইমে যেকোনো ক্লাস লোড করতে পারেন।
.java সোর্স ফাইলগুলোর মতো, কম্পাইলড .class ফাইলগুলোর ও একটি ডিরেক্টরি সিরিজে থাকতে হবে যা প্যাকেজের নামকে রিফলেক্ট করে। তবে, .class ফাইলগুলোর পাথ .java সোর্স ফাইলগুলোর পাথের সাথে একই হতে হয় না। আপনি আপনার সোর্স এবং ক্লাস ডিরেক্টরি আলাদা করে সাজাতে পারেন, যেমন:
<path-one>\sources\com\apple\computers\Dell.java
<path-two>\classes\com\apple\computers\Dell.class
এটি করলে, আপনার সোর্স ফাইলগুলো প্রকাশ না করেই ক্লাসেস ডিরেক্টরি অন্য প্রোগ্রামারদের অ্যাক্সেস দিতে পারবেন। আপনাকে সোর্স এবং ক্লাস ফাইলগুলো এইভাবে ম্যানেজ করতে হবে যাতে কম্পাইলার এবং জাভা ভার্চুয়াল মেশিন (JVM) আপনার প্রোগ্রাম ব্যবহার করার সব টাইপ খুঁজে পায়।
ক্লাসেস ডিরেক্টরির ফুল পাথ, <path-two>\classes, যাকে ক্লাসপাথ বলা হয় এবং এটি CLASSPATH সিস্টেম ভেরিয়েবল দিয়ে সেট করা হয়। কম্পাইলার এবং JVM দুটোই আপনার .class ফাইলগুলোর পাথ তৈরি করে প্যাকেজের নাম ক্লাসপাথে যোগ করে।
মান লই <path-two>\classes ক্লাসপাথ, এবং প্যাকেজের নাম com.apple.computers, তবে কম্পাইলার এবং JVM <path-two>\classes\com\apple\computers-এ .class ফাইলগুলো খুঁজবে।
একটি ক্লাসপাথে একাধিক পাথ থাকতে পারে। একাধিক পাথ সেমিকোলন (উইন্ডোজ) বা কলন (ইউনিক্স) দিয়ে পৃথক করা হয়। ডিফল্টভাবে, কম্পাইলার এবং JVM বর্তমান ডিরেক্টরি এবং জাভা প্ল্যাটফর্ম ক্লাস ধারণকারী JAR ফাইল সার্চ করে যাতে এই ডিরেক্টরিগুলো স্বয়ংক্রিয়ভাবে ক্লাসপাথে থাকে।