ジェネリッククラスについてお聞きしたいと思います。ジェネリッククラスから2つのオブジェクトインスタンスを作成するとどうなりますか?すべての静的メンバーを共有していますか、または両方とも独自の静的メンバーを持っていますか?ジェネリッククラスは静的メンバーを共有しますか?
ですから、例えば:
public A<?>(){
public static Integer member = 0;
}
A<Integer> integer = new A<Integer>();
A<String> string = new A<String>();
くださいInteger
とString
両方がmember
の背後に同じ参照を持っていますか?
あなたの質問は有効ですが、投稿したコードが悪いです:これは有効なコンストラクタでもクラス宣言でもありません。あなたの質問に対する答えは:はい、すべての静的メンバーを共有します。また、自分で質問に答えることもできます: 'System.out.println(integer.member == string.member);' System.out.println(A.member == A.member);と同じです。静的であるため) – jlordo
テストすることは難しくありません。 – Dukeling
メンバー自体が一般的な場合はどうなりますか? 'public class MyClassと似ています {public static T member; } '?? –