interface A<T> {
interface B {
// Results in non-static type variable T cannot
// be referenced from a static context
T foo();
}
}
とにかくこれの周りはありますか?AB から参照されたときに T が静的と見なされるのはなぜですか?
インターフェイスのすべてのメンバー フィールドは、デフォルトpublicで 、staticおよびfinalです。
内部インターフェースがデフォルトなので、静的フィールドやメソッドからstatic参照することはできません。T
実際にはクラスのインスタンスに関連付けられているためT、クラスに関連付けられている静的フィールドまたはメソッドに関連付けられている場合、意味がありません
このようなものはどうですか。
public interface A<T> {
interface B<T> extends A<T>{
T foo();
}
}