Vai*_*hav 32 java static final constants class-variables
为什么java常量声明为static?
class Foo{
static final int FII = 2 ;
}
Run Code Online (Sandbox Code Playgroud)
在这个我理解使用final?为什么它必须是静态的?为什么它应该是一个类变量,而不是一个实例变量?
wan*_*nik 89
如果常量不是静态的,Java将在类的每个对象中为该常量分配一个内存(即每个对象的常量的一个副本).
如果常量是静态的,那么该类的常量只有一个副本(即每个类一个副本).
因此,如果常量只有一个值,则应声明为static.
如果常量可能对每个对象具有不同的值,例如对象的创建时间,则不应将其声明为static.
| 归档时间: |
|
| 查看次数: |
33737 次 |
| 最近记录: |