有没有办法解决经典问题
public class SomeClass implements SomeOtherInterface {
private static SomeInterface some;
public SomeClass(SomeInterface someInterface) {
some = someInterface;
}
@BeforeClass
public static void doSomethingWithInterface() {
System.out.println(someInterface.someValue()); // prints null
}
}
除了交换
System.out.println(someInterface.someValue()); // prints null
和
System.out.println(SomeInterface.someValue());
如果 someValue 是静态的。问题是这是针对框架(扩展)的,并且 SomeInterface 的实现将由用户提供。