【问题标题】:When is a static loop called? [duplicate]什么时候调用静态循环? [复制]
【发布时间】:2014-03-15 18:33:02
【问题描述】:

在 Java 类中什么时候调用静态循环? 它多久被引用一次? 我只熟悉调用方法,并且

我在这个对 Euler Q14 的真正出色的回答中看到了它,一年做了 java,但这是我第一次在这里看到:

stackoverflowquestion

static {
for (int i = 10; i < cache.length; i *= 2)
    collatzNum(i - 1);
        }

【问题讨论】:

  • 它不是一个“静态循环”,而是一个恰好包含循环的静态块。

标签: java for-loop static


【解决方案1】:

这称为静态初始化块。您可以使用它来初始化静态变量。加载类时将调用此块。

仅供参考

一个类可以有任意数量的静态初始化块,它们 可以出现在类主体的任何位置。运行时系统保证 静态初始化块的调用顺序是它们 出现在源码中

更多详情,请查看here

【讨论】:

  • 谢谢,我不知道类可以这样初始化
【解决方案2】:

静态块按照声明它们的顺序被调用,当你的jvm加载类时调用它们---ClassLoader

【讨论】:

    猜你喜欢
    • 2015-07-29
    • 2012-02-06
    • 2014-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-29
    • 2021-02-11
    相关资源
    最近更新 更多