我想在不输入方法的情况下访问该变量,并想知道这是否可能。
我试过了:
public class MyClass{
public static ItemStack myItem = new ItemStack(Material.BOOK);
myItem.addEnchantment(Enchantment.ARROW_DAMAGE, 1);
}
但我相信如果没有启动方法(例如主方法),这是不可能的
无论如何都要这样做?
答案 0 :(得分:2)
了解静态初始化: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);
}
};
}
答案 1 :(得分:0)
也许这会成功:
public class MyClass{
public static ItemStack myItem;
static
{
myItem = new ItemStack(Material.BOOK);
myItem.addEnchantment(Enchantment.ARROW_DAMAGE, 1);
}
}