【发布时间】:2018-02-18 18:04:57
【问题描述】:
所以我刚刚开始了我的第一个 Java 大项目,我正在学习一些教程,但有些代码我根本看不懂。
package com.Legolando.Runa;
import net.minecraftforge.fml.common.Mod;
@Mod(modid = Reference.MODID, name = Reference.MODNAME, version = Reference.VERSION)
public class Runa {
@Mod.Instance
public static Runa instance = new Runa();
// I dont get why instance of my class has to be static
}
如你所见,我在这个类中创建了一个这个类的实例(对我来说已经是 cosmos),这个实例是静态的。有人可以解释什么是静态实例吗?和静态变量或方法一样吗?
【问题讨论】:
-
是时候拿起一本关于 Java 的书了。在这里为您遇到的每个关键字发布一个问题,您不会非常有效地学习它。
-
如前所述,在尝试编写实际项目之前,您可能需要阅读一些基本教程。在那之后,您可能需要重新考虑您对第一个项目的选择。使用 Forge 编写 Minecraft mod 是一个相当复杂的第一个项目,我个人建议制作一个较小的独立程序。关于您的实际问题,我什至认为 @Mod.Instance 参数不需要是静态的,它可能无论如何都可以工作。但是你甚至不需要使用@Mod.Instance,因为这是使用它们的名字来获取其他模块的实例。在这种情况下,只需使用 'this'。