我想在不输入方法的情况下访问该变量,并且想知道这是否可能。如何在不启动方法的情况下在变量中设置属性?
我想:
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