-2

我的主要课程是:

private Integer id;

private String code;
private static Main instance;

@Override
public void onEnable() {
    saveDefaultConfig();
    reload();
}

public void reload() {
    id = 20;
    code = "code";
}

public Integer getID() {
    return id;
}

public String getCode() {
    return code;
}

public Main() {
    instance = this;
}

在我的另一个班级上,我试图获取 ID 和 getCode 这是我获取代码和 ID 的代码。reload() 方法被称为 onEnable(开始)

Main main = new Main();
System.out.println(main.getCode());

它返回空值。

4

2 回答 2

1

实例变量被初始化为默认值——0 代表int, falseforboolean等。对象引用被初始化为null

因此,在您的示例中,String引用code被初始化为null. 在打印出来之前,你永远不会做任何事情来改变它。这就是为什么您会看到“null”。

我很喜欢你如何开始你的问题:“这是我的主要课程。” 这就像从 Yoda 看到 Stack Overflow 上的帖子一样。

于 2013-11-03T03:22:52.703 回答
0

问题源于您的变量未设置这一事实。我假设您希望调用 reload,因此您可能只想继续设置一个调用 reload 的构造函数,如下所示:

public Main()
{
     reload();
}
于 2013-11-03T03:21:44.813 回答