不。 static
表示该类的所有实例都相同。 final
表示在初始分配后无法分配。因此,两个实例的非静态最终变量的值可能不同。
您可能有很多原因想使变量为final;最好的方法之一就是清晰度。如果我读了一个方法并且注意到foo是最终的,那么我不必担心它在下面的位置变化了- 因为它不是。不能。我可以对代码进行更多更改,而不必担心最终变量(“我在bar之前还是之后更改了foo的值,这有关系吗?”),因为我知道某些变量不会更改。它还侧重于这两个变量我的注意力都 可能发生变化-他们是值得更多的关注的人。