最近項目中遇到一個問題,不用if else 或者 switch 動態(tài)選擇類執(zhí)行方法。
首先定義一個接口BaseDeal,接口中定義deal方法,假設(shè)deal方法返回值int
TestDeal1和TestDeal2分別實(shí)現(xiàn)BaseDeal接口
String mark = "TestDeal1";
BaseDeal deal = (BaseDeal) Class.forName("你的包名,即package"+mark).newInstance();
int result = deal.deal();
即實(shí)現(xiàn)了動態(tài)選擇類執(zhí)行。
ps:好像將編譯后的class文件放到包對應(yīng)的文件夾下,也可以執(zhí)行到,類似于插件,具體未驗證。
新聞熱點(diǎn)
疑難解答