如果变量声明为 public static varName;
,那么我可以从任何地方访问它 ClassName.varName
。我也知道静态成员由一个类的所有实例共享,并且不会在每个实例中重新分配。
将变量声明为 private static varName;
与声明变量 private varName;
有什么不同吗?
在这两种情况下,它都不能作为 ClassName.varName
或 ClassInstance.varName
从任何其他类访问。
将变量声明为静态是否会赋予它其他特殊属性?
原文由 Vaibhav Jani 发布,翻译遵循 CC BY-SA 4.0 许可协议
当然,它可以作为
ClassName.var_name
访问,但只能从定义它的类内部访问 - 这是因为它被定义为private
。public static
或private static
变量通常用于常量。例如,许多人不喜欢在他们的代码中“硬编码”常量;他们喜欢制作一个public static
或private static
具有有意义名称的变量,并在他们的代码中使用它,这应该使代码更具可读性。 (您还应该制作这样的常量final
)。例如:
无论你制作它
public
还是private
取决于你是否希望变量在类外可见。