Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

วิธีโหลดคลาสที่รันไทม์จากโฟลเดอร์หรือแพ็คเกจ Java


การใช้ CLASSPATH คุณสามารถโหลดคลาสใดก็ได้ที่รันไทม์

เช่นเดียวกับไฟล์ต้นฉบับ .java ไฟล์ .class ที่คอมไพล์แล้วควรอยู่ในชุดของไดเร็กทอรีที่สะท้อนถึงชื่อแพ็กเกจ อย่างไรก็ตาม พาธไปยังไฟล์ .class ไม่จำเป็นต้องเหมือนกับพาธไปยังไฟล์ต้นฉบับ .java คุณสามารถจัดเรียงไดเร็กทอรีซอร์สและคลาสของคุณแยกกันได้ −

<path-one>\sources\com\apple\computers\Dell.java
<path-two>\classes\com\apple\computers\Dell.class

การทำเช่นนี้ เป็นไปได้ที่จะให้การเข้าถึงไดเร็กทอรี class แก่โปรแกรมเมอร์คนอื่นๆ โดยไม่เปิดเผยแหล่งที่มาของคุณ คุณยังต้องจัดการไฟล์ต้นทางและไฟล์คลาสในลักษณะนี้ เพื่อให้คอมไพเลอร์และ Java Virtual Machine (JVM) สามารถค้นหาทุกประเภทที่โปรแกรมของคุณใช้

เส้นทางแบบเต็มไปยังไดเร็กทอรี class \classes เรียกว่า classpath และตั้งค่าด้วยตัวแปรระบบ CLASSPATH ทั้งคอมไพเลอร์และ JVM สร้างพาธไปยังไฟล์ .class ของคุณโดยเพิ่มชื่อแพ็กเกจไปที่ classpath

พูดว่า \classes คือเส้นทางของคลาส และชื่อแพ็คเกจคือ com.apple.computers จากนั้นคอมไพเลอร์และ JVM จะค้นหาไฟล์ .class ใน \classes\com\apple\computers

classpath อาจมีหลายพาธ หลายพาธควรคั่นด้วยเครื่องหมายอัฒภาค (Windows) หรือทวิภาค (Unix) โดยดีฟอลต์ คอมไพเลอร์และ JVM จะค้นหาไดเร็กทอรีปัจจุบันและไฟล์ JAR ที่มีคลาสแพลตฟอร์ม Java เพื่อให้ไดเร็กทอรีเหล่านี้อยู่ใน classpath โดยอัตโนมัติ