首先有如下**:
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...