问题标签 [static-initializer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
39 浏览

java - 详细的初始化过程类变量初始化器

关于以下几点,我看到了许多令人困惑的答案:

接下来,按照文本顺序执行类的类变量初始化程序静态初始化程序,或者接口的字段初始化程序,就好像它们是一个块一样。

类变量初始化程序是否包括实例初始化程序块?和静态初始化器包括静态块?还是只包含变量?

如果不是 intiliaztion 的顺序在哪里: https://docs.oracle.com/javase/specs/jls/se8/html/jls-12.html#jls-12.4.2

例如。:

0 投票
3 回答
97 浏览

java - 默认构造函数在java中的静态块之前执行

当我们在 java 中加载一个类时,首先执行静态块,然后执行默认构造函数。但是在下面的代码中,我观察到默认构造函数是在静态块之前执行的。

主类:

输出:

我需要知道这背后的基本概念。这是怎么回事。? 有人可以帮助我了解其背后的流程。

0 投票
0 回答
79 浏览

godot - 加载脚本时运行初始化代码

我有一个 GDScript 文件,我希望能够在加载脚本时运行一段代码。我知道_init只要构造实例_ready就会运行,并且会在将实例添加到场景树时运行。我想在这些事件发生之前运行代码;当preloadorload首次将其带入内存时。

在 Java 中,这将是一个静态初始化块,就像这样

我想对 Godot 中的 GDScript 文件做同样的事情,在第一次加载脚本时计算一些顶级常量或其他配置数据,例如(我意识到这不是有效的 GDScript)

有没有办法获得这样的特征,甚至近似它?

背景信息:我关心的原因(除了对此类问题的一般学术兴趣之外)是我正在研究一种使用 GDScript 作为编译目标的脚本语言,并且在我的语言中,需要某些初始化和注册程序碰巧让我的语言的运行时保持愉快,并且每当加载我的语言的新脚本时都需要这样做。

实际上我想做的事情基本上是

whereMyLanguageRuntime是存在于场景树顶部的单例节点,以保持一切顺利运行。

0 投票
1 回答
97 浏览

java - 静态初始化块未按预期工作

我有两个类,“Test1”和“Test0”,如这段代码所示。

我以为它会打印 George 先生,但它打印了 Mr. null。而且我不明白发生了什么。请帮助我。谢谢你。