为什么Java常量被声明为静态的?
2022-09-01 04:02:01
为什么java常量被声明为静态?
class Foo{
static final int FII = 2 ;
}
在这一点上我明白了最终的用法吗?购买为什么它必须是静态的?为什么它应该是类变量,而不是实例变量?
为什么java常量被声明为静态?
class Foo{
static final int FII = 2 ;
}
在这一点上我明白了最终的用法吗?购买为什么它必须是静态的?为什么它应该是类变量,而不是实例变量?
如果一个常量不是静态的,Java将在类的每个对象中为该常量分配一个内存(即,每个对象一个常量的副本)。
如果一个常量是静态的,则该类的常量只有一个副本(即,每个类一个副本)。
因此,如果常量只有一个值,则应将其声明为 static。
如果该常量对于每个对象可能具有不同的值(例如对象的创建时间),则不应将其声明为静态。
如果它可能因类的实例而异,那么它显然不是一个常量。为每个实例获取不同的 pi 值(甚至不允许构造实例)意味着什么?或者对 ? 的每个实例使用不同的不区分大小写的排序Math
Math
String