采用接口可以动态实现相同结构的类的实例化
/**
* @功能描述: 动态实例化事件类
* @param className 类的全路径
* @return flowEvent是className类的接口
*/
public flowEvent initEvent(String className){
flowEvent event = null;
try {
event = (flowEvent) Class.forName(className).newInstance();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return event;
}
也可以使用Object来实例化,此种方式无需依赖自定义接口实现,如:
public Object initBusinessDataBean(String className){
Object obj = null;
try {
obj = Class.forName(className).newInstance();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return obj;
}