在学习 Java 时,我一直在关注一些教程来习惯 libgdx,我在一个让我感兴趣的课程中发现了这段代码:
static Map<Keys, Boolean> keys = new HashMap<Keys, Boolean>();
static {
keys.put(Keys.LEFT, false);
keys.put(Keys.RIGHT, false);
keys.put(Keys.JUMP, false);
keys.put(Keys.FIRE, false);
};
您几乎可以忽略此功能。Keys 是一个枚举,其他一切都应该是不言自明的。奇怪的是,这段代码根本就在任何方法之外,实际上那个静态 {} 块被声明为某种方法。
那么,这是什么?它有什么作用?它是否在创建类时执行那段代码?或者程序第一次运行的时候?(毕竟它是静态的)。我只是想知道这种(我们称之为)方法是什么,如果它有名字,以及我在使用它时有什么限制。我还想询问一些效率,甚至是关于是否使用它或避免它的良好实践建议。
非常感谢你。