1. 程式人生 > >黑馬程式設計師_Java高新技術_反射

黑馬程式設計師_Java高新技術_反射

Field fieldX=pt1.getClass().getDeclaredField("x");//x是私有的不可見的用該方法獲得field物件
//暴力反射
fieldX.setAccessible(true);//因為x是私有的不可以直接訪問,設定為可訪問的
成員方法的反射
Method 類代表某個類中的成員方法
得到類中的某個方法 :
Method methodCharAt=String.class.getMethod("charAt", int.class);
//呼叫方法通常方式str1.charAt(1);
反射方式呼叫成員方法:
System.out.println(methodCharAt.invoke(s, 1));
如果傳遞給Method 的第一個引數為null,說明Method對應的是一個靜態的方法
JDK1.4和JDK1.5 invoke()的區別
JDK1.5 添加了可變引數JDK 1.4,引數為一個數組
public Object invoke(Object obj, Object...args);
public Object invoke(Object obj, Object[]args);