在Java中,static
和final
修饰符可以用于变量声明,它们有不同的含义和作用:
-
static
:表示该变量是静态的,属于类而不是实例。所有该类的实例共享同一个静态变量。 -
final
:表示该变量是常量,一旦赋值后就不能再改变。
1.static final
同时具备静态和常量特性
静态:所有对象共享同一份内存空间。
常量:一旦初始化后不能修改。
2.static
仅具备静态特性
所有对象共享同一份内存空间。
可以在运行时修改
3.final
仅具备常量特性
一旦赋值后不能修改。
每个实例可以有不同的值。
总结
-
static final
:静态常量,所有实例共享且不可修改。 -
static
:静态变量,所有实例共享但可修改。 -
final
:常量,不可修改但每个实例可以有不同的值。