当前位置: 首页 > 知识库问答 >
问题:

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

谢铭
2023-03-14
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个答案

李辉
2023-03-14
private static double salary

仅在类中可用,可以作为

salary or Employee.salary

正在…

 public static final String DEPARTMENT

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

Employee.DEPARTMENT
施同
2023-03-14

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

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

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

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

诸葛煜
2023-03-14

>

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

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

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

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

  •  类似资料:
    • 这个java程序包含一个静态变量。但是我不明白公共和私有静态变量之间的区别。

    • 问题内容: 通常,最终静态成员,尤其是变量(或静态最终变量,当然可以以任何顺序使用,而不会重叠含义)已广泛用于Java接口中,以定义实现类的 协议行为 ,这意味着实现该类的类(继承)接口必须包含该接口的所有成员。 我无法区分 final 和 final静态 成员。final静态成员是一个声明为final或其他东西的静态成员?在哪些特定情况下应专门使用它们? 永远不能在方法内部,静态方法内部或实例方

    • 问题内容: 我是Java编程的新手。谁能说出Java中的全局变量和局部变量之间的区别? 问题答案: 您的问题有点困惑,因为您在标题中引用的是static / global,而在问题中引用的是global / local。 变量绑定到一个 类 , 每个类 将有 一个实例 。 类可以具有成员变量,并且该类的 每个实例 将有 一个实例 。 请注意,如果您有多个类加载器,这将变得更加复杂。在这种情况下,您

    • 问题内容: 我已经定义了一个对象并声明了一个静态变量。在该方法中,当我尝试打印实例和类变量时,两者都打印相同的值。 不是实例变量吗?它应该打印0而不是50吗? 问题答案: 不,只有一个变量-您尚未声明任何实例变量。 不幸的是,Java允许您访问静态成员,就像通过相关类型的引用访问静态成员一样。这是IMO的设计缺陷,某些IDE(例如Eclipse)允许您将其标记为警告或错误- 但这是语言的一部分。您

    • 问题内容: 和之间有什么区别? 例如 : 要么 问题答案: 尽管您 确实 希望遵守约定,但在功能上没有什么区别(字节码将 完全相同 ),请访问JLS-8.3.1。场修饰符: __ 这将是奇怪的,看.. 我也建议您访问checkstyle。 编辑: 从同一页面链接到该部分: http://docs.oracle.com/javase/specs/jls/se7/html/jls-8.html#jls

    • 静态变量 PHP中局部变量分配在zend_execute_data结构上,每次执行zend_op_array都会生成一个新的zend_execute_data,局部变量在执行之初分配,然后在执行结束时释放,这是局部变量的生命周期,而局部变量中有一种特殊的类型:静态变量,它们不会在函数执行完后释放,当程序执行离开函数域时静态变量的值被保留下来,下次执行时仍然可以使用之前的值。 PHP中的静态变量通过