关于静态的Java问题

标签 java static

<分区>

我今天在我们的代码中遇到了这个错误,花了一段时间才弄清楚。我发现它很有趣,所以我决定分享它。这是问题的简化版本:

public class Test {

    static
    {
      text = "Hello";
    }

    public static String getTest() {
      return text + " World";
    }

    private static String text = null;
}

猜猜 Test.getTest(); 返回什么以及为什么?

最佳答案

它应该打印“null world”。静态初始化按列出的顺序完成。如果您将声明移动到高于静态 block 的位置,您应该得到“Hello World”。

关于关于静态的Java问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6583837/

相关文章:

c - 我是否可以通过将变量设为静态来提高性能?

java - 如何为 Jersey 中的每个请求在 cookie 中设置 session key

java - 线程中出现异常 "main"java.lang.OutOfMemoryError : Java heap space not fixed

java - 创建 Eclipse 快捷方式以运行构建文件的特定目标

actionscript-3 - 如何在 ActionScript 对象的祖先类上调用静态函数?

c++ - 如何链接到 Visual C++ 2010 中的 .lib 文件?没有引用项目?

java - 克隆 JFrame

java - 我正在 java 中使用 OpenCSV 读取 CSV 文件,

image - 静态图像的 OpenCV haar 训练

c# - 静态类引用名