method
method = demo.getmethod
("say", string.class);
method.invoke
(demo.newinstance(), "名字");
執行結果
hello 名字,my name is
null-null
method
method = demo.getmethod
("get" + "age");
system.out.println(method.invoke
(demo.newinstance()));
執行結果
0
method method = demo.getmethod("set" + "age", integer.class);
object obj = demo.newinstance();
method.invoke(obj, 20);
system.out
.println(demo.getmethod("get" + "age").invoke(obj));
執行結果
20
int temp = ;
class<?> demo = temp.getclass().getcomponenttype();
system.out
.println("獲取陣列型別->" + demo.getname());
system.out
.println("陣列長度->" + array.getlength(temp));
system.out
.println("陣列的第乙個元素->" + array.get(temp, 0));
array.set(temp, 0, 100);
system.out
.println("修改後陣列的第乙個元素為->" + array.get(temp, 0));
執行結果
獲取陣列型別->int
陣列長度->6
陣列的第乙個元素->1
修改後陣列的第乙個元素為->100
string temp = ;
class<?> obj = temp.getclass().getcomponenttype();
object newarr=array.newinstance(obj,20);
system.arraycopy(temp,0,newarr,0,temp.length);
for (int i = 0
; i < array.getlength(newarr); i++)
執行結果
str1 str2 str3 str4 str5 str6 null
null
null
null
null
null
null
null
null
null
null
null
null
null
C 反射回顧筆記
反射提供描述程式集 模組和型別的物件 type 型別 可以使用反射動態地建立型別的例項,將型別繫結到現有物件,或從現有物件中獲取型別,然後呼叫其方法或訪問其字段和屬性。如果 中使用了特性,可以利用反射來訪問它們。反射在以下情況下很有用 type 表示型別宣告 類型別 介面型別 陣列型別 值型別 列舉...
Day52 反射回顧
反射操作構造器 1 class clazz class.forname com.reflex.bean.user 2 constructor c1 clazz.getconstructor 3 object obj1 c1.newinstance 4 system.out.println obj1 ...
java反射 通用的java反射工具
因專案需要,需要反射呼叫安卓系統audiomanager的一些方法,這些方法或者使用 hide標記,或者需要的sdk版本比較高,無法直接呼叫,這個時候,反射就是一大神器了。正常的反射呼叫流程如下 非靜態有返回值方法反射 class clazz class.forname full classname...