你实际上是在问我想要回答的几个问题.
常量用于避免代码中的幻数/字符串.如果您的代码中有多个字符串出现,那么一旦您需要更改该字符串,您只需要更改常量定义,而不是更改代码中每次出现的字符串.此外,如果只使用一个常数,它通常是一件好事,因为它具有更好的可见性.
final关键字.它的目的(至少在这种情况下)是双重的.一个是让程序员无法改变价值.你可能已经忘记它是一个常数.另一种是告诉编译器该值在运行时不能更改.这可用于创建优化的字节码(例如,可以删除常量,并且编译器将每次出现的值替换为其值).
static关键字.在Java中,一切都是类.每个Class都可以有多个实例(对象).如果你没有标记你的常数,static那么每个对象都有"它自己的常数".既然你不想要将它标记为静态是有意义的.静态字段(或方法)每个类只存在一次(而不是每个类的对象一次).