java反射回顧《三》

2021-08-11 04:50:37 字數 1775 閱讀 9632

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...