This question already has answers here:
Are static members of a generic class different for different types in Java?

(2个答案)


7年前关闭。




我想问一下通用类。当我从通用类创建两个对象实例时会发生什么。他们共享每个静态成员,还是都拥有自己的静态成员?

因此,例如:
public A<?>(){
    public static Integer member = 0;
}

A<Integer> integer = new A<Integer>();
A<String> string = new A<String>();
IntegerStringmember后面是否具有相同的引用?

最佳答案

public class A<T>{
    public static Integer member = 0;

    public static void main(String[] args)
    {
      A<Integer> integer = new A<Integer>();
      A<String> string = new A<String>();

      integer.member++;
      System.out.println(string.member);
    }
}

输出
1

因此,是的,两个实例共享相同的member变量。

关于java - 泛型类共享静态成员吗​​? [复制],我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16949868/

10-09 07:23