无论如何,将全局变量放在java中的位置是否重要?

时间:2016-08-19 15:37:49

标签: java variables

这可能是一个基本问题,但我想澄清一些我的困惑。在任何情况下,您放置全局变量的位置是否重要?例如;

Atomics.notify

不同于:

int globalVariable = 3;

//Some Method here which DOES NOT use the globalVariable

1 个答案:

答案 0 :(得分:1)

类中的字段声明的相对位置在两种情况下相关:

  • 该字段在其他字段的初始化表达式中被引用 - 在这种情况下,被引用的字段必须在引用它的字段之前声明;否则,代码将无法使用"非法前向引用"错误。对于放置在字段声明(demo)前面的匿名初始化块引用的字段,情况也是如此。
  • 字段初始化程序有副作用 - 在这种情况下,在其他初始化程序之前或之后放置初始化程序会改变副作用的顺序。

以下是第二点的说明:

class Test {
    int a = foo("hello");
    int b = foo("world");
    static int foo(String s) {
        System.out.println(s);
        return 3;
    }
}

以上打印

hello
world

每次构造一个Test对象。如果您将a的声明移至b声明之后,打印输出将更改为

world
hello