代码之家  ›  专栏  ›  技术社区  ›  EnricoBilla

Minecraft Modding“无法实例化类型”creating CreativeTab

  •  3
  • EnricoBilla  · 技术社区  · 9 年前

    我昨天在我的《我的世界》Mod编程时遇到了一个问题。

    下面是代码:

    主要的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” new MyCreativeTab("tabTemperCraft) 在Main。java和我不知道为什么。。。

    我已经在网上看过了,但任何人都有同样的问题。

    有人能帮我吗?谢谢

    1 回复  |  直到 4 年前
        1
  •  2
  •   Stanley F.    9 年前

    这里的问题是 MyCreativeTab 是抽象类型,无法实例化。 您需要删除 abstract 类声明或子类的关键字。

    请参阅 Java Specification:

    命名类可以声明为抽象类(§8.1.1.1),如果未完全实现,则必须声明为抽象;这样的类不能实例化,但可以通过子类进行扩展。