java – 泛型类共享静态成员吗​​?

前端之家收集整理的这篇文章主要介绍了java – 泛型类共享静态成员吗​​?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > Are static members of a generic class different for different types in Java?2个
我想问一下泛型类.当我从泛型类创建两个对象实例时会发生什么.他们是否共享每个静态成员,或者两者都拥有自己的静态成员?

例如:

public A<?>(){
    public static Integer member = 0;
}

A<Integer> integer = new A<Integer>();
A<String> string = new A<String>();

Integer和String在成员后面都有相同的引用吗?

解决方法

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

所以,是的,这两个实例共享相同的成员变量.

猜你在找的Java相关文章