-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;
}

そして、私の他のクラスで getID と getCode を試みています。これは、コードと ID を取得するための私のコードです。reload() メソッドは onEnable (開始) と呼ばれます

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

null を返します。

4

2 に答える 2

1

インスタンス変数は、 、 などのデフォルト値 0 に初期化されますintfalseオブジェクトboolean参照は に初期化され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 に答える