java - java中有没有所谓的全局变量

标签 java global-variables

根据这篇文章Global variables in Java它描述了如何在java中使用static定义全局变量

 public class Example {
        public static int a;
        public static int b;
    }

但同时在其他帖子Why are there no global variables in Java?这个问题自相矛盾。 所以我的问题是全局变量到底是什么? java支持全局变量吗?如果支持,如何支持? 如果没有,为什么? java 全局变量(如果有的话)与 c++ 全局变量有何不同?

最佳答案

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

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

所以最主要的是:java中没有显式的globan并且java中没有globan命名空间。这可以让您避免名称冲突和意外覆盖,这是一件好事。

但是没有什么可以阻止您创建一个包含大量公共(public)静态字段的Global类。

请注意,大​​多数人(包括我)都会因此而折断你的双手。 :)

关于java - java中有没有所谓的全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24060921/

相关文章:

java - 这是复制文件的有效方法吗

java - 从 Eclipse 中外部创建的文件获取存储

java - 递归打印 ArrayList<ArrayList<String>> 的所有可能组合

javascript - 无法在javascript中获取声明的变量

Java 碰撞检测并将对象设置回来

java - Spring数据及查询方法

Python加密函数和全局变量

ios - 我想,陷入 for 循环中,不能使用循环外设置的变量吗?

Javascript - 从 If/Else block 外部调用变量返回未定义

symfony - 如何将运行时变量传递到react/webpack模块中