反射作用
1杰妓、反射獲取程序在運行時刻的內(nèi)部結(jié)構(gòu)
2侮邀、在運行時刻對一個Java對象進行操作
反射方法介紹
1乔夯、獲取Class的方法
A Class<?> c = Add.class
B Add add = new Add()
? ?Class<?> c1 = add.getClass()
C Class<?> c2 = Class.forName("類路徑");
2盟步、根據(jù)Class生成對象的方法
A Object object = c.newInstance()
B Constructor constructor = c.getConstructor(int.class);
? ?Object object1 = constructor.newInstance(1);
3、獲取成員變量
A c.getDeclaredFields() 獲取類自身聲明的變量著淆,不包括繼承的變量
B c.getFields() 獲取類所有的變量,包括繼承的
C Field field = c.getDeclaredField("變量名稱") 獲取指定變量
D Field field1 =c.getField("變量名稱") 獲取指定變量
* field.setAccessible(boolean) 設(shè)置變量是否可獲取
4 獲取變量的值
field.getInt(object)
5 獲取方法拴疤,獲取方法的時候需要加上參數(shù)的類型
Method method = c.getMethod("addJ", int.class);
method.invoke(object,8);