没有名称的静态方法

asc*_*sco 5 java static android class

在Android示例类中,这个方法是:

static {        
    addItem(...);
}
Run Code Online (Sandbox Code Playgroud)

当我引用该类时,确实添加了这些项.我从未见过像这样的方法,a.怎么称呼和b.我想只要引用类(或第一次引用类),就会调用此方法?

Eng*_*uad 9

这就是所谓的static initializer和它里面的代码的类加载被调用一次.


San*_*age 1

是的,这是静态初始化块,只有当类加载时才会加载,正如 Fouad 所说。如果您想在需要时执行 Static 块内的功能,则可以添加私有静态方法。看看这里