猿问

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

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


RISEBY
浏览 194回答 3
3回答

呼啦一阵风

static并final意味着完全不同的事情。static String s = "Hello";这意味着只有一个该变量的实例在类的所有实例之间共享。final String s = "Hello";这意味着您无法s在第一次设置后更改其值。你也可以拥有static final!static final String s = "Hello";现在你有两个,只有一个,它永远不会改变。

桃花长相依

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

慕姐8265434

它是 2 个完全不同的关键字,具有不同的功能:“静态” - 与该类的所有实例共享的类变量,而不是特定实例。您可以在您想要的任何地方进行修改(取决于上下文)。“final”是一个类型或变量,你只能赋值一次,不能修改它的引用,但从另一边,你可以修改被引用对象的内容。结合这 2 个关键字,您可能会得到一些有趣的结果:“最终静态”您可以定义一个常量 - 可从任何实例访问且不可修改的引用。希望这可以帮助您理解。
随时随地看视频慕课网APP

相关分类

Java
我要回答