我需要编写一个接受对象的函数,但我希望在函数调用中(而不是在函数被调用之后)强制该对象是一个接口。
这意味着,我希望确保这是编译时的接口,而不是运行时的接口。
我是什么意思?
interface ISomething {...}
class A implements ISomething { ... }
ISomething something = new A();
MyClass.register(something);在本例中,传递的对象是一个接口,我希望MyClass.register函数在其声明中强制执行this请求。
我不知道我将获得哪个接口,并且定义另一个接口由所有其他实现实现是没有用的,因为我需要真正的接口。
发布于 2009-11-19 21:28:38
您可以询问您在运行时实现的对象的接口的类。如果您不能为编译器提供您期望的接口类型,它就无法预测将传递到您的方法中的内容,因此您必须使用运行时反射。
https://stackoverflow.com/questions/1763212
复制相似问题