为什么在NetBeans IDE(Java)中不执行静态块?

1cklez4t  于 2022-11-10  发布在  Java
关注(0)|答案(2)|浏览(162)

我正在学习java,现在正在测试静态块是如何工作的。我正在尝试构建和运行下面的代码,但是静态块没有被执行。当我通过命令行编译和运行相同的代码时(我使用的是命令提示符(Windows 10)),静态块正在被执行。
我假设这与IDE中的某个选项有关,但正如我所说,我仍在学习Java和OOP。

package statictest;

public class StaticTest {
    public static void main(String args[]) {
        System.out.println(Test.i);
    }
}

class Test {
    static int i;
    static {
        i = 10;
    }
}

有没有人能帮我一个忙?解释一下为什么会发生这种情况也很感激。
附言:
使用NetBeans时,输出为0
使用命令行时,输出为10

gcmastyq

gcmastyq1#

我也得到了这个问题后,从netbeans 12.0更新到12.4,导入我的旧插件修复了这个问题,我认为这是与nb-javac插件有关的东西。

6l7fqoea

6l7fqoea2#

您应该使用upgrade升级到NetBeans 12.5。
这是NetBeans 12.4中的一个已知问题,并且在NetBeans 12.5中已得到修复(我运行了一个测试来确认)。
NetBeans 12.5 Features页面的摘要:
NETBEANS-5832正在修复vanilla索引的静态初始值设定项的编译。:https://github.com/apache/netbeans/pull/3054
特定的NetBeans JIRA票证:Static block not compiled

相关问题