Java中的"static{}"是什么?

6

我不是面向对象编程方面的专家,请多多包涵。

这段代码来自于安卓自动生成的主/详细信息流程项目:

static {
        // Add 3 sample items.
        addItem(new DummyItem("1", "Item 1"));
        addItem(new DummyItem("2", "Item 2"));
        addItem(new DummyItem("3", "Item 3"));
    }

这是什么?我的意思是它是一个方法吗?构造函数?还是其他什么?


1
它是Java中的一个关键字,static很广泛,不需要实例。我建议你谷歌一下以获取更多信息。 - Skynet
2
它具有最高的执行优先级。如果您想在主方法之前执行任何语句,请编写静态块。 - Biraj Zalavadia
1
谢谢。我尝试搜索"static java",但是所有的结果都是关于"static class"、"static method"等内容。 - Blaze Tama
2
Static 是一个关键字,您可以将其与类、方法、变量甚至代码块一起使用。向 Java 致敬,它是上帝的专属语言。 - Skynet
3个回答

7

4

这被称为静态块。

它将在类加载时运行,与所有静态变量加载的时间相同,因此您可以将其视为静态内容的构造函数,因为您不必实例化一个类来运行这些操作。或者是类加载时的钩子。


0

它被称为静态块。在类加载时,在主方法之前执行。它用于初始化静态数据成员。通过使用静态块,我们可以在没有主方法的情况下执行程序。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接