编辑:好的,我搞砸了
interface Int{ void someMethod(); } class ImplOne implements Int{ public void someMethod() { // do something } } Class<? extends Int> getInt(){ return ImplOne.class; }
在这种情况下,someMethod()不能是静态的.
所以如果你使用:
SomeClass.someStaticMethod()
你没有实例化(离开类加载和实例化SomeClass类本身,这是JVM处理的,并且超出了你的范围).
这与已经被实例化的对象上调用的常规方法相反:
SomeObject o = someObject; // had to be instantiated *somewhere* o.someMethod();