为什么java常量声明为静态的?

2022-01-23 00:00:00 static class-variables constants java final

为什么java常量声明为静态的?

Why are java constants declared static ?

class Foo{
    static final int FII = 2 ;
}

在这我明白final的用法了吗?购买为什么它必须是静态的?为什么它应该是类变量,而不是实例变量?

In this I understand the use of final? Buy why does it have to be static? Why should it be a class variable, and not an instance variable?

推荐答案

如果它可能因类的实例而异,那么它显然不是常量.为 Math 的每个实例获取不同的 pi 值意味着什么(不是说 Math 甚至允许构造实例)?或者 String 的每个实例都有不同的不区分大小写的顺序?

If it could vary by the instance of a class, then it's clearly not a constant. What would it mean to get a different value of pi for each instance of Math (not that Math even allows instances to be constructed)? Or a different case insensitive ordering for each instance of String?

相关文章