参见英文答案 >
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
所以,是的,这两个实例共享相同的成员变量.