使用反射機制實現對類中私有方法的呼叫

2021-07-05 12:35:38 字數 583 閱讀 3423

首先先要獲取這個類的類,假設我宣告了乙個類,類名為item

//宣告乙個方法物件,

private method getpackagesizeinfo;

/*通過.class獲取類的類物件

*/class item=item.class;

//通過getdeclaredmethod

//第乙個引數為類中想要呼叫的方法的名字

//後面的引數為這個方法需要傳遞的引數型別

getpackagesizeinfo =item. getdeclaredmethod("getpackagesizeinfo",

string.class);

//使這個引數變為可訪問狀態,即可使用狀態

getpackagesizeinfo.setaccessible(true);

//使用invoke呼叫這個方法,第乙個引數其中所傳引數為這個方法的類的物件

/*** params:這個方法所在類的物件

* params:方法所需要的引數

*/ getpackagesizeinfo.invoke(pm, "ss");

利用反射機制呼叫私有方法

步驟1 獲取到當前執行緒的類載入器 classloader classloader thread.currentthread getcontextclassloader 步驟2 用類載入器獲取的class物件 class clazz classloader.loadclass com.wxw.tes...

反射呼叫類的私有方法與私有內部類的私有方法

package org.example import j ax.lang.model.element.variableelement public class dt class students private string get2 string b private class dt 在stude...

Obj C中如何實現私有方法

物件導向的設計中,有乙個特性封裝性,就是將某些東西包裝和隱藏起來,讓外界無法直接使用,只能通過某些特定的方式才能訪問。在objective c中也可以做到這一點。比如下面這個類 先是介面 file someclass.h inte ce for someclass inte ce someclass...