【发布时间】:2011-06-21 10:32:17
【问题描述】:
我正在开发一个应用程序,它使用 Java 接口作为更多而不是 Java 接口,即,在运行时,用户应该能够列出接口类中的可用方法,这可以是任何东西:
private Class<? extends BaseInterface> interfaceClass.
在运行时,我想枚举可用的方法,然后根据用户的选择,调用一些方法。
我的问题是:Java“接口”架构是否提供了任何方法让我在不使用反射 API 的情况下查看和调用方法?
我希望有这样的东西(也许有):
private Interface<? extends BaseInterface> interfaceAPI;
public void someMethod(){
interfaceAPI.listMethods();
interfaceAPI.getAnnotations();
}
也许有一些方法可以使用类型泛型来完成我想要的?
谢谢,
黄帝
【问题讨论】:
-
还有其他方法,但恕我直言,它们要糟糕得多。你还没有说为什么你不想使用反射。也许您的担忧可以得到解决。
-
您可以动态生成代码(并通过一些自定义类加载器加载它)......但这就是反射的实际作用。
标签: java generics reflection interface