为了账号安全,请及时绑定邮箱和手机立即绑定

静态成员可以重新初始化,如果可以怎么办?

静态成员可以重新初始化,如果可以怎么办?

RISEBY 2021-07-22 18:15:20
我按照java 中的 static 和 final链接 来了解 static 和 final 之间的区别,但发现一个区别是静态变量可以重新初始化,而对于 final 我们不能这样做,为什么有人能帮我举个例子?静态成员可以通过静态方法更改,是否意味着重新初始化,请告诉我我的理解是否正确?
查看完整描述

3 回答

?
呼啦一阵风

TA贡献1802条经验 获得超6个赞

staticfinal意味着完全不同的事情。

static String s = "Hello";

这意味着只有一个该变量的实例在类的所有实例之间共享。

final String s = "Hello";

这意味着您无法s在第一次设置后更改其值。

你也可以拥有static final

static final String s = "Hello";

现在你有两个,只有一个,它永远不会改变。


查看完整回答
反对 回复 2021-07-29
?
桃花长相依

TA贡献1860条经验 获得超8个赞

final 关键字的一个属性是它确保变量在初始化后不能改变状态。它强制用户在声明时或在构造函数中进行初始化。


查看完整回答
反对 回复 2021-07-29
?
慕姐8265434

TA贡献1813条经验 获得超2个赞

它是 2 个完全不同的关键字,具有不同的功能:

  • “静态” - 与该类的所有实例共享的类变量,而不是特定实例。您可以在您想要的任何地方进行修改(取决于上下文)。

  • “final”是一个类型或变量,你只能赋值一次,不能修改它的引用,但从另一边,你可以修改被引用对象的内容。

结合这 2 个关键字,您可能会得到一些有趣的结果:

  • “最终静态”您可以定义一个常量 - 可从任何实例访问且不可修改的引用。

希望这可以帮助您理解。


查看完整回答
反对 回复 2021-07-29
  • 3 回答
  • 0 关注
  • 193 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信