1、使用物件呼叫Object的getClass方法
取得字節碼物件的方法:要使用此方法,必須明確具體類別,並建立物件。
public static void getClassObject_1() { Person p = new Person(); Class<?> clazz = p.getClass(); Person p1 = new Person(); Class<?> clazz1 = p1.getClass(); System.out.println(clazz == clazz1); }
2、呼叫屬性
任何資料型別都有靜態屬性。 class可以取得對應的class物件。比較簡單,但是要明確使用類別中的靜態成員。
public static void getClassObject_2() { Class<?> clazz = Person.class; Class<?> clazz1 = Person.class; System.out.println(clazz == clazz1);//true都是Person类的字节码 }
3、採用forName()方法
可以透過給定類別的字串名稱來獲得,並且可以更加擴展。但是在Class類別中完成。這種方法是forName.這種方法只要有名字就可以,更加方便,更加可擴展。
public static void getClassObject_3() throws ClassNotFoundException { String className = "com.ldb.po.Person"; Class<?> clazz = Class.forName(className); System.out.println(clazz); }
以上是如何用java反射取得對象的詳細內容。更多資訊請關注PHP中文網其他相關文章!