の古典的な問題を回避する方法はありますか
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 の実装を提供する必要があることです。