Java反射機制總結學習 動態載入類

2021-07-27 22:31:26 字數 729 閱讀 2998

首先有如下**:

public

class dynamicloadclass else

if("b".equals(args[0]))

}}class a

}class b

}

上面**可以正常編譯、執行。但是如果此時沒有b類,而且,我們的需求也不需要b類,就只用a類的方法就可以了,這個時候我們就需要main函式的**,然後重新編譯執行。另一種情況,我們又新增了乙個c類,我們又要繼續新增else if。。。試想,如果有100個類,我們就要寫100個if else,這絕對不是一種合理的方法。

接下來,就介紹動態載入類的方法:

public

class

dynamicloadclass catch (classnotfoundexception e) catch (instantiationexception e) catch (illegalacces***ception e)

}}public

inte***ce

myinte***ce

public

class

aimplements

myinte***ce

}public

class

bimplements

myinte***ce

}

以上就是動態載入類的方法。

Java學習 反射機制

前提 person類已經定義屬性 name,age 方法 tostring 無參建構函式 感覺像是必須的 1 獲取類 通過類的newinstance 方法建立執行時類物件 通過clazz.getdeclaredfield name 用於非public屬性,結合f1.setaccessible tru...

Java反射機制學習(一)

首先先說以下反射使用的基本步驟 套路 基本步驟 1.獲取目標型別相應的class物件 2.呼叫class物件內省方法獲取目標類成員資訊 3.訪問目標類成員資訊 操作目標類中的成員 通過反射獲取該類的field,method,constructor,inte ce,package and superc...

java反射機制

private string getmethod catch instantiationexception e1 catch illegalacces ception e1 try catch illegalargumentexception e catch illegalacces ception...