我昨天编写了一个Minecraft Mod。
以下是代码:
Main.java类
package com.enricobilla.tempercraft;
import com.enricobilla.tempercraft.creativeTab.MyCreativeTab;
@Mod(modid = Reference.MOD_ID, name = Reference.MOD_NAME, version = Reference.MOD_VERSION)
public class TemperCraft {
public static final MyCreativeTab tabTemperCraft = new MyCreativeTab("tabTemperCraft");
... other code ...
}
和MyCreativeTab.java类
package com.enricobilla.tempercraft.creativeTab;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
public abstract class MyCreativeTab extends CreativeTabs {
public MyCreativeTab(String label) {
super(label);
this.setBackgroundImageName("tab_tempercraft.png");
}
}
所以,我的问题是Eclipse报告我"无法实例化MyCreativeTab"我在Main.java中写过new MyCreativeTab("tabTemperCraft)
的地方,我不知道为什么......
我已经在互联网上看过,但是任何人都有同样的问题。
有人可以帮帮我吗?谢谢!
答案 0 :(得分:2)
这里的问题是MyCreativeTab
是一种抽象类型,并且无法实例化。
您需要删除类声明的abstract
关键字或将其子类化。
命名类可以声明为abstract(第8.1.1.1节),如果未完全实现,则必须声明为abstract;这样的类不能实例化,但可以通过子类扩展。