これはなぜ動作していないのですか? 基本的なOOP機能です。それは動作しますが、何らかの理由で動作を停止しました。Java Bukkit OOP
public class InfoboardManager {
private MainInfoboard mi;
private Player p;
public InfoboardManager(Player p) {
this.p = p;
}
public MainInfoboard getMainInfoboard() {
return mi;
}
public class MainInfoboard {
public void echoName() {
System.out.println("His name is " + p.getName());
}
}
}
私はこのようにそれを呼んでいる:
@EventHandler
public void onPlayerJoin(PlayerJoinEvent e) {
InfoboardManager ib = new InfoboardManager(e.getPlayer());
MainInfoboard mi = ib.getMainInfoboard();
mi.echoName();
e.setJoinMessage(null);
}
はどうもありがとうございました!クラスInfoboardManager
の
'MainInfoBoard'はどこで初期化されていますか?あなたの現在のコードだけでは、NullPointerExceptionがスローされます。 (あなたは私がかなり簡単に解決できるはずですか?)。 「働かない」以外に、あなたが期待したものとは何が違うのかについての適切な記述ではありません。あなたが期待したものと、関連している場合はコード、画像、スタックトレースなど、あなたが得た結果を含めてください。 – n247s
@ n247sプレイヤーの名前をコンソールに表示したい。だから、プレーヤーが参加すると、コンソールはex:のために書くだろう彼の名前はeNcooです。 – eNcoo
あなたはどこでも 'echoName()'を呼び出すことはありません。 – Esko