提问者:小点点

公共静态变量和私有静态变量之间的区别


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程序包含一个静态变量。但是我不明白公共和私有静态变量之间的区别。


共3个答案

匿名用户

>

  • public变量可以从任何地方访问(当然,也可以从类可访问的任何地方访问)。

    私有变量只能在类内部访问。

    静态变量属于类,而不是类的实例。

    请注意,变量 DEPARTMENT 也是最终变量,这意味着一旦设置它,就无法对其进行修改。这在这里很重要,因为这就是避免错误代码的原因 - 变量是一个常量,所以可以让类外的东西访问它。

  • 匿名用户

    公共变量在代码中的任何位置都可以访问 - 私有变量只能在类本身内访问。在本例中,您在 Employee 类中使用 Employee.salary,因此这很好。

    请注意,静态变量是一个完全独立的问题,方法和类与变量具有相同的可访问性。

    还有其他级别的访问可用 - 受保护和默认的“包”访问(无法显式指定)。有关更多详细信息,请参阅 Java 语言规范的第 6.6 节。

    (顺便说一句,也值得了解静态的含义 - 您几乎肯定不希望这些变量是静态的,因为它们适用于每个员工而不是一般的员工概念。DEPARTMENT在这里也是一个常量,这很奇怪。

    匿名用户

    private static double salary
    

    仅在类中可用,可以作为

    salary or Employee.salary
    

    正在…

     public static final String DEPARTMENT
    

    也可以从此类外部访问,如下所示

    Employee.DEPARTMENT
    

    相关问题