在简单的情况下,您可以假设多个实例Student将共享相同的静态nextID字段.但是,人们应该超越简单的案例(或者你没有的文件).在这种情况下,除非id从nextID计数器派生的实例字段传播到更大的应用程序,其中ID应该是唯一的,否则它会很好.在这种情况下,您需要一个更健壮的ID生成器(也许您想要一个UUID ;也许您想要一个数据库中的主键;也许还有其他东西).
请仔细询问自己所需的唯一ID范围.然后寻求解决该问题的解决方案并在课堂上记录它.
通常,同名类中的静态字段,但由不同的类加载器(在相同或不同的JVM中)加载可能是不同的实例,这是人们在尝试实现Singleton模式时最常注意到的.因此,静态变量的范围取决于(在复杂的情况下)相关的类加载器.关于classloader定义的Java命名空间的更多(最新)细节在这里和这里.
与SO相关:...... 之间的区别Thread.getContextClassLoader().