如果一个变量被声明为public static varName;
,然后我可以从任何地方访问它ClassName.varName
。我还知道静态成员由类的所有实例共享,并且不会在每个实例中重新分配。
将变量声明为private static varName;
与声明变量有什么不同private varName;
?
在这两种情况下都无法访问ClassName.varName
or as ClassInstance.varName
来自任何其他班级。
将变量声明为静态是否会赋予它其他特殊属性?
当然可以通过以下方式访问ClassName.var_name
,但只能从定义它的类内部 - 那是因为它被定义为private
.
public static
or private static
变量通常用于常量。例如,许多人不喜欢在代码中“硬编码”常量;他们喜欢做一个public static
or private static
具有有意义的名称的变量并在代码中使用它,这应该使代码更具可读性。 (你还应该使这样的常量final
).
例如:
public class Example {
private final static String JDBC_URL = "jdbc:mysql://localhost/shopdb";
private final static String JDBC_USERNAME = "username";
private final static String JDBC_PASSWORD = "password";
public static void main(String[] args) {
Connection conn = DriverManager.getConnection(JDBC_URL,
JDBC_USERNAME, JDBC_PASSWORD);
// ...
}
}
无论你是否做到了public
or private
取决于您是否希望变量在类外部可见。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)