是否可能有多个静态变量实例

Sat*_*ish 6 java static

静态变量只有实例(即它们是类的一部分).例如:Math.pi

有没有办法可以有多个静态变量实例?我听说有类似的东西吗?

Ste*_*n C 14

如果您发现需要多个静态变量实例,则强烈表明您不应该首先使用静态变量.

是的,如果在不同的类加载器中加载了相同的类,则该类的每个副本都将具有自己的静态.但是,唯一可以静态引用这些静态的代码将是由同一个类加载器加载的类.当然,该代码只会(静态地)在类的一个副本中看到静态.所以你可能没有取得很多成就.

您应该重构代码以将静态变量转换为实例变量,而不是乱搞类加载器.

  • @satish - 所以我不相信你这是个坏主意? (7认同)
  • 有时必须使用一个库,其类遍布静态区域,从而无法获得多个稳定实例.如果我强行使用这样的库,自定义的ClassLoader只是一个更长的时间来戳它.(: (2认同)