Java 空指针错误?
我正在做一个游戏,我有几个不同的类,因为我不喜欢把所有的东西都放在一个。我有一个GameView类和一个players类。问题是我正在从GameView调用players类中的一个方法。但它给了我一个空指针错误。下面是我的代码: 游戏类:Java 空指针错误?,java,nullpointerexception,dialog,Java,Nullpointerexception,Dialog,我正在做一个游戏,我有几个不同的类,因为我不喜欢把所有的东西都放在一个。我有一个GameView类和一个players类。问题是我正在从GameView调用players类中的一个方法。但它给了我一个空指针错误。下面是我的代码: 游戏类: Panel p2 = new Panel(); p2.setLayout(new BorderLayout()); JLabel player1Lbl = new JLabel("Player 1"); p2.add(player1Lbl, BorderLay
Panel p2 = new Panel();
p2.setLayout(new BorderLayout());
JLabel player1Lbl = new JLabel("Player 1");
p2.add(player1Lbl, BorderLayout.WEST);
player.enterNameP1(); //Having an error here.
player1Lbl.setText(player.enterNameP1());
球员级别:
public class Players
{
//storing the player 1 name
private String p1name;
//storing the player 2 name
private String p2name;
/**
* Constructor for objects of class Players
*/
public Players()
{
this.p1name = p1name;
this.p2name = p2name;
}
/**
*Enter the player 1 name in a dialog box
*/
public String enterNameP1() //It was public void before but it wasnt accepting a void method in the gameView so I changed it to String
{
this.p1name = JOptionPane.showInputDialog("Please enter player 1 name","Specify name");
return p1name;
}
你应该先初始化播放器
Players player = new Players();
您的播放机在您呼叫时未初始化:
player.enterNameP1(); //Having an error here.
要解决这个问题,您必须确保参考播放器实际指向播放器的真实实例。这应该通过在代码的逻辑位置添加以下内容来实现:
player = new Players();
这就是为什么会出现NullPointerException。从特定对象调用方法时,必须初始化该对象,这意味着指针播放器指向类播放器的实际实例。您没有实例化播放器
因此它是空的,导致NPE-1是的,这些存在。是什么表情引起的?几乎总是一样的事情,缺少创建对象,而且过于本地化。