我按照java 中的 static 和 final链接 来了解 static 和 final 之间的区别,但发现一个区别是静态变量可以重新初始化,而对于 final 我们不能这样做,为什么有人能帮我举个例子?静态成员可以通过静态方法更改,是否意味着重新初始化,请告诉我我的理解是否正确?
3 回答
呼啦一阵风
TA贡献1802条经验 获得超6个赞
static
并final
意味着完全不同的事情。
static String s = "Hello";
这意味着只有一个该变量的实例在类的所有实例之间共享。
final String s = "Hello";
这意味着您无法s
在第一次设置后更改其值。
你也可以拥有static final
!
static final String s = "Hello";
现在你有两个,只有一个,它永远不会改变。
慕姐8265434
TA贡献1813条经验 获得超2个赞
它是 2 个完全不同的关键字,具有不同的功能:
“静态” - 与该类的所有实例共享的类变量,而不是特定实例。您可以在您想要的任何地方进行修改(取决于上下文)。
“final”是一个类型或变量,你只能赋值一次,不能修改它的引用,但从另一边,你可以修改被引用对象的内容。
结合这 2 个关键字,您可能会得到一些有趣的结果:
“最终静态”您可以定义一个常量 - 可从任何实例访问且不可修改的引用。
希望这可以帮助您理解。
添加回答
举报
0/150
提交
取消