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);
}
}
这个java程序包含一个静态变量。但是我不明白公共和私有静态变量之间的区别。
>
public
变量可以从任何地方访问(当然,也可以从类可访问的任何地方访问)。
私有
变量只能在类内部访问。
静态
变量属于类,而不是类的实例。
请注意,变量 DEPARTMENT
也是最终变量
,这意味着一旦设置它,就无法对其进行修改。这在这里很重要,因为这就是避免错误代码的原因 - 变量是一个常量,所以可以让类外的东西访问它。
公共变量在代码中的任何位置都可以访问 - 私有变量只能在类本身内访问。在本例中,您在 Employee 类中使用
Employee.salary
,因此这很好。
请注意,静态变量是一个完全独立的问题,方法和类与变量具有相同的可访问性。
还有其他级别的访问可用 - 受保护
和默认的“包”访问(无法显式指定)。有关更多详细信息,请参阅 Java 语言规范的第 6.6 节。
(顺便说一句,也值得了解静态
的含义 - 您几乎肯定不希望这些变量是静态的,因为它们适用于每个员工
而不是一般的员工
概念。DEPARTMENT
在这里也是一个常量,这很奇怪。
private static double salary
仅在类中可用,可以作为
salary or Employee.salary
正在…
public static final String DEPARTMENT
也可以从此类外部访问,如下所示
Employee.DEPARTMENT