在一個Android示例類的靜態方法那裏有這個方法:沒有名字
static {
addItem(...);
}
當我引用類中,項目確實加入。我從來沒有見過這樣的方法,a。這是如何被稱爲和b。我想這個方法在類被引用(或者第一次被引用)時被調用?
在一個Android示例類的靜態方法那裏有這個方法:沒有名字
static {
addItem(...);
}
當我引用類中,項目確實加入。我從來沒有見過這樣的方法,a。這是如何被稱爲和b。我想這個方法在類被引用(或者第一次被引用)時被調用?
是的,這是靜態初始化塊,它只會在類加載的福阿德說加載。如果您想要在靜態塊內執行功能,則可以添加私有靜態方法。看看here
這叫做static initializer
,它內部的代碼在類加載時只被調用一次。
這不是一種方法。這是一個static initializer
。這是靜態地做一些工作的一種方式,例如設置一些數據。
考慮一下:
static List<String> neverChangingNames;
static {
neverChangingNames = new ArrayList<String>();
neverChangingNames.add("Thomas");
neverChangingNames.add("Derek");
neverChangingNames.add("Michael");
neverChangingNames = Collections.unmodifiableList(neverChangingNames);
}