我一直在努力解决这个问题.我有一个这样定义的接口:
public interface SomeInterface {
String someMethod();
}
Run Code Online (Sandbox Code Playgroud)
这将由许多模型类实现,例如
public class SomeClass implements SomeInterace {
...
@Override
public String someMethod(){
...
}
}
Run Code Online (Sandbox Code Playgroud)
最后我有一个需要调用doSomething方法的第3类,记住我有多个符合SomeInterface的模型.所以我将方法定义为:
public class SomeUsefulClass {
public void doSomethingCool(Class<SomeInterface>aParam) {
//How do I specify aParam.someMethod(); A cast doesn't work
}
}
Run Code Online (Sandbox Code Playgroud)
public void doSomethingCool(SomeInterface aParam) {
aParam.someMethod();
}
Run Code Online (Sandbox Code Playgroud)