反射機制看自省 探尋類自身的資訊 修改類的資訊

2021-08-31 10:38:19 字數 1159 閱讀 2160

[size=medium]反射機制看自省(探尋類自身的資訊--修改類的資訊) [/size]

public class testreflection_2 else if(f.gettype().get******name().equals("int"))

system.out.println("\t" + f.getname() + " : " + f.get(object));//如果這樣寫是會報錯的,因為有的屬性是private

}//方法

//---->method methods = cls.getmethods();//得到所有方法

class params = ;

method method = cls.getmethod("study", params);

//調方法的時候,我們要放入方法體中的是乙個實參,應該是乙個物件陣列

object objs = ;

object o = method.invoke(object, objs);

system.out.println("\t" + o);

//構造方法 construtctor, 通過類物件,其本身就可以呼叫newinstance()方法來建立類的物件

//這個的意思是說,類在建立的時候必須要含有乙個無參的構造方法

//那是不是說,如果沒有無參構造方法,就不能利用發射來建立物件了呢?

//答案是否定的

//這個時候 你需要做的是首先利用反射拿到(怎麼拿,還是用參數列)有參的那個構造方法,

//使用參數列的時候,利用getconstructor()這個方法拿到構造方法物件,

//然後用構造方法的這個物件呼叫newinstance()方法,這樣就可以得到你想要的物件了}}

class studentt

public studentt(string name, int age)

public void study()

public string study(string course, int time)

public void setname(string name)

public void setage(int age)

/*public void sethobby(string hobby) */

}

C 使用反射機制獲取類資訊

用反射動態建立類例項,並呼叫其公有成員函式。新建乙個類庫專案,增加乙個getsum方法。using system namespace classlibrary1 public int getsum int x,int y 再另建乙個專案,在專案中引用上面生成的classlibrary1.dll sy...

C 的類反射多型機制

一 基類 class icmdstatic 二 子類1 class ccmd502 public icmdstatic 三 子類2 class ccmd503 public icmdstatic 四 類工廠模板標頭檔案 ifndef genericfactoryh define genericfac...

類的載入和反射機制

1.啟動jvm 2.將需要執行的class檔案載入到虛擬機器記憶體中 3.找到主類,開始執行主函式 載入步驟 1.先委託父類載入類,如果父類已經載入,就不需要再次載入,如果父類沒有載入,再由本載入器載入 2.解析類路徑,將類路徑轉換成檔案路徑 3.通過檔案輸入流來讀取class檔案,得到位元組陣列 ...