是什么叫java中的全局变量

时间:2014-06-05 13:00:37

标签: java global-variables

根据这篇文章Global variables in Java,它描述了如何使用静态

在java中定义全局变量
 public class Example {
        public static int a;
        public static int b;
    }

但同时在另一篇文章Why are there no global variables in Java?中,这个问题相互矛盾。 所以我的问题是究竟什么是全局变量? java是否支持全局变量?如果是,如何? 如果不是,为什么? 以及java全局变量(如果有的话)与c ++全局变量有什么不同?

3 个答案:

答案 0 :(得分:3)

我认为我们可以争辩说java中没有global关键字,但您的示例可以被视为全局关键字。

在大多数可以定义全局变量的语言中,问题是它们污染全局命名空间并且可能发生名称冲突(如在php中)。在这方面,java中没有全局变量,因为没有全局命名空间:变量总是在类中。

所以主要的是:在java中没有明确的全局在java中没有全局命名空间。这使您免于名称冲突和意外覆盖,这是一件好事。

没有什么能阻止您创建一个包含大量Global字段的public static类。

请注意大多数人(包括我)会因为这样做而打断你的双手。 :)

答案 1 :(得分:0)

许多函数使用全局变量,而无需在这些函数的输入中输入它。 专家建议不要使用它们。

答案 2 :(得分:0)

全局变量是一个可以从任何地方(从程序的任何部分)访问的变量。因此,任何Java类中的公共静态变量都是全局的。