And*_*irl 12 java variables static private public
class Employee{
// salary variable is a private static variable
private static double salary;
// DEPARTMENT is a constant
public static final String DEPARTMENT = "Development";
public static void main(String args[]){
salary = 1000;
System.out.println(DEPARTMENT+ " average salary:"+salary);
}
}
Run Code Online (Sandbox Code Playgroud)
这个java程序包含一个静态变量.但我无法理解公共和私有静态变量之间的区别.
tru*_*ity 27
甲public变量是可访问的从任何地方(当然,任何地方的类是可访问的).
一个private变量是只在类中访问.
甲static变量属于类,而不是一类的一个实例.
请注意,该变量DEPARTMENT也是final,这意味着一旦设置它就无法修改.这在这里很重要,因为这就是保存这个不好代码的原因 - 变量是一个常量,因此可以在类外部提供对它的访问权限.
Jon*_*eet 25
公共变量可在代码中的任何位置访问- 私有变量只能在类本身中访问.在这种情况下,你使用Employee.salary的内部Employee类,所以这很好.
请注意,变量是静态的是一个完全独立的问题 - 方法和类的可访问性与变量的方式相同.
还有其他级别的访问权限 - protected以及默认的"包"访问权限(无法明确指定).有关更多详细信息,请参见Java语言规范的第6.6节.
(作为一个附带问题,它也值得学习什么static意思 - 你几乎肯定不希望这些变量是静态的,因为它们适用于每个 Employee而不是Employee概念.DEPARTMENT在这里成为常数也很奇怪. )