能解決
Java中編譯分為靜態(tài)編譯和動態(tài)編譯。
靜態(tài)編譯:在編譯時確定類型,綁定對象,即通過。
動態(tài)編譯:運行時確定類型,綁定對象。動態(tài)編譯大限度發(fā)揮了java的靈活性,體現(xiàn)了多態(tài)的應(yīng)用,從而降低類之間的藕合性。
能得到
實現(xiàn)Java反射機制的類都位于java.lang.reflect包中:
1、Class類:代表一個類
2、Field類:類的屬性(成員變量)
3、Method類:類的方法
4、Constructor類:代表類的構(gòu)造方法
5、Array類:提供了動態(tài)創(chuàng)建數(shù)組,以及訪問數(shù)組的元素的靜態(tài)方法
?
使用步驟
第一步:Class c = Class.forName("className”);//className必須為全名,也就是得包含包名
???Object obj=c.newInstance();//創(chuàng)建對象的實例????第二步:獲取 Method:?? 3.1 如何獲取 Method:?? 1). getDeclaredMethods得到 Method 的數(shù)組.?? 2). getDeclaredMethod(String methondName, Class ... parameterTypes)????? 3.2 如何調(diào)用 Method?? 1). 如果方法時 private 修飾的, 需要先調(diào)用 Method 的 setAccessible(true), 使其變?yōu)榭稍L問?? 2). method.invoke(obj, Object ... args);????第三步:關(guān)于 Field:?? 4.1 如何獲取 Field: getField(String fieldName)?? 4.2 如何獲取 Field 的值:??? 1). setAccessible(true)?? 2). field.get(Object obj)?? 4.3 如何設(shè)置 Field 的值:?? field.set(Obejct obj, Object val)
參考:https://www.cnblogs.com/tech-bird/p/3525336.html???
各方案反射性能對比:https://www.cnblogs.com/zhishan/p/3195771.html
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。