根据这篇文章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 ++全局变量有什么不同?
答案 0 :(得分:3)
我认为我们可以争辩说java中没有global
关键字,但您的示例可以被视为全局关键字。
在大多数可以定义全局变量的语言中,问题是它们污染全局命名空间并且可能发生名称冲突(如在php中)。在这方面,java中没有全局变量,因为没有全局命名空间:变量总是在类中。
所以主要的是:在java中没有明确的全局而在java中没有全局命名空间。这使您免于名称冲突和意外覆盖,这是一件好事。
但没有什么能阻止您创建一个包含大量Global
字段的public static
类。
请注意大多数人(包括我)会因为这样做而打断你的双手。 :)
答案 1 :(得分:0)
许多函数使用全局变量,而无需在这些函数的输入中输入它。 专家建议不要使用它们。
答案 2 :(得分:0)
全局变量是一个可以从任何地方(从程序的任何部分)访问的变量。因此,任何Java类中的公共静态变量都是全局的。