-4
有人能告诉我为什么这不起作用吗? 这是一个基本的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);
}
非常感谢您!
MainInfoBoard初始化在哪里?只用你当前的代码,它会抛出一个'NullPointerException'。 (你应该能够很容易地解决我的问题?)。除了“不工作”不是对你所期望的有什么不同的正确描述。请包括您的预期,以及获得的结果,包括代码,图像和堆栈跟踪(如果相关)。 – n247s
@ n247s我想将控制台的玩家姓名打印出来。所以当玩家加入时,控制台会写出来:例如,他的名字是eNcoo。 – eNcoo
你不会在任何地方调用'echoName()'。 – Esko