我想在不輸入方法的情況下訪問該變量,並且想知道這是否可能。如何在不啓動方法的情況下在變量中設置屬性?
我想:
public class MyClass{
public static ItemStack myItem = new ItemStack(Material.BOOK);
myItem.addEnchantment(Enchantment.ARROW_DAMAGE, 1);
}
但我認爲那是不可能的,但不啓動的方法(例如主法)
反正有這樣做呢?
我想在不輸入方法的情況下訪問該變量,並且想知道這是否可能。如何在不啓動方法的情況下在變量中設置屬性?
我想:
public class MyClass{
public static ItemStack myItem = new ItemStack(Material.BOOK);
myItem.addEnchantment(Enchantment.ARROW_DAMAGE, 1);
}
但我認爲那是不可能的,但不啓動的方法(例如主法)
反正有這樣做呢?
閱讀關於靜態初始化:Static Initialization Blocks。
public class MyClass{
public static final ItemStack myItem = new ItemStack(Material.BOOK);
static {
myItem.addEnchantment(Enchantment.ARROW_DAMAGE, 1);
}
}
而且這將工作,如果你的類不是最終的:
public class MyClass{
public static final ItemStack myItem = new ItemStack(Material.BOOK) {
{
addEnchantment(Enchantment.ARROW_DAMAGE, 1);
}
};
}
也許這將解決:
public class MyClass{
public static ItemStack myItem;
static
{
myItem = new ItemStack(Material.BOOK);
myItem.addEnchantment(Enchantment.ARROW_DAMAGE, 1);
}
}
不,這不可能在Java中。 Java中沒有任何方法以外的代碼。 – ArtOfWarfare 2014-11-22 18:42:10