采用接口可以动态实现相同结构的类的实例化

/**
 * @功能描述:    动态实例化事件类
 * @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;
}