什麼是反射機制
JAVA反射機制是在運行狀態中,對於任意一個類,都能夠知道這個類的所有屬性和方法;對於任意一個對象,都能夠調用它的任意方法和屬性;這種動態獲取信息以及動態調用對象方法的功能稱爲java語言的反射機制。
反射的用法
反射獲取字節碼對象的方法有3種:
- 第一種:
使用object的getClass()方法
Person person = new Person();
Class<Person> clazz = person.getClass();
這種方法必須要明確具體的類(Person),然後創建Person的對象。
- 第二種:
任何的數據類型都具有一個靜態的.class屬性來獲取其對應的Class對象。
Class<Person> clazz = Person.class;
這種方法就不需要創建Person對象,相對第一種簡單很多。
- 第三種:
只要通過給定的類的字符串名稱就可以得到該類,其擴展性更高。用Class類中的forName()方法完成。
Class clazz = Class.forName("com.text.reflect.Person");
裏面傳入完整的包名