首页 > 学院 > 开发设计 > 正文

利用classloader动态选择不同类执行

2019-11-11 05:52:51
字体:
来源:转载
供稿:网友

最近项目中遇到一个问题,不用if else 或者 switch 动态选择类执行方法。

首先定义一个接口BaseDeal,接口中定义deal方法,假设deal方法返回值int

TestDeal1和TestDeal2分别实现BaseDeal接口

String mark = "TestDeal1";

BaseDeal deal = (BaseDeal) Class.forName("你的包名,即package"+mark).newInstance(); 

int result = deal.deal();

即实现了动态选择类执行。

ps:好像将编译后的class文件放到包对应的文件夹下,也可以执行到,类似于插件,具体未验证。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表