java.lang.Class เป็นหนึ่งในคลาสที่สำคัญที่สุดใน Java และให้ utility methods หลายตัว เช่น getClass(), forName() ซึ่งใช้หาและโหลดคลาส ยังมีเมธอดอย่าง Class.newInstance() ซึ่งเป็นรากฐานของ reflection และอนุญาตให้สร้าง instance ของคลาสโดยไม่ใช้ operator new()
ความสำคัญของ java.lang.Class
- Instances ของคลาส Class แทน classes, interfaces, enum และ annotation ใน Java application ที่กำลังทำงาน
- เมื่อไฟล์ java ถูกคอมไพล์ คอมไพเลอร์จะแทรก public, static, final field ชื่อ Class ชนิด java.lang.Class ลงในไฟล์ .class ที่สร้างขึ้น
- ทุกๆ คลาสเปิดเผยโค้ดของมันในรูปของ instance ของ java.lang.Class
- Class ไม่มี public constructor แทนที่จะเป็น Class objects ถูกสร้างโดยอัตโนมัติโดย JVM เมื่อคลาสถูกโหลด และโดยการเรียก defineClass() method ใน class loader
ตัวอย่าง
public class TutorialsPoint {
public static void main(String []args){
// accessing getName() method via class field.
System.out.println("The name of the class is: "+ TutorialsPoint.class.getName());
}
}
ผลลัพธ์
The name of the class is: TutorialsPoint