当我尝试在java中使用反射时,如何使用接口作为参数

时间:2011-10-30 11:50:33

标签: java generics reflection interface methods

我有一个通用的界面:

public interface DataTable < T > {

}

我有一个Factory类返回实现DataTable<T>

的类的实例
public class DataTableFactory<T> {

    public DataTable<T> getInstance() { 
             return dataTableImpl();
    }
}

另一个名为list的类,其方法为public void setDataTable(DataTable < T > dataTable)

现在我只想使用java反射调用此方法:

Helper helper = new Helper(operationsFile);
Class c = null;
c = Class.forName(helper.getClassName("list"));
Object t = c.newInstance();

Method methodSetDataTable = c.getDeclaredMethod("setDataTable", paramTypes);

在这个例子中,我找不到如何获得paramTypes

1 个答案:

答案 0 :(得分:3)

如果没有看到setDataTable的方法声明,我希望param类型只是DataTable.class