0

JLS(§8.7)の次のテキストが何を意味するかについて、具体的な例を挙げていただけますか?

[...] 静的初期化子の外で宣言された型変数が静的初期化子内のどこかにある場合、コンパイル時エラーになります。

そして、それをエラーにする理由は何ですか?

4

1 に答える 1

4

Atype variableは、クラスで使用される非修飾識別子です。クラスのインスタンスは、型変数を置き換える実際の型が異なる場合があります。型変数は、クラスのインスタンスにのみ適用されます。したがって、同じクラスの静的コンテキストでは参照できません。これは、このエラーの例です。

import java.util.*;
public class Test<N> {
  static { List<N> p = new ArrayList<>(); }
}
于 2015-04-27T19:42:36.010 に答える