如何返回对象的名称?

Nik*_*o H -1 java

我是Java的新手,所以我不知道我的问题是否有任何道理。但是我会尽力描述它。

如何返回对象的名称?因此,我创建了一个名为的类,Player并创建了以下对象:

Player John = new Player();
System.out.println(John);
Run Code Online (Sandbox Code Playgroud)

我如何使它打印/返回单词“ John”而不是其他任何东西?我将不胜感激,非常感谢!

Pav*_*nov 5

在您的示例中,您实际上并未将播放器的名称设置为John,而是在创建一个名为John的对象。

要解决此问题,请在您的Player类中声明一个字段:

public class Player {
   String name;

   public Player(String name) {
       this.name = name;
   }

   public String getName() {
       return name;
   }

   public void setName(String name) {
       this.name = name;
   }
}
Run Code Online (Sandbox Code Playgroud)

现在,您可以根据需要创建任意数量的播放器并命名:

Player player = new Player("John");
Run Code Online (Sandbox Code Playgroud)

当您想要获得玩家的名字时,只需调用该getName()函数即可。
设置播放器名称时,只需调用setName()方法。

要在控制台上打印玩家名称,请使用以下命令:

System.out.println(player.getName());
Run Code Online (Sandbox Code Playgroud)

或者,您可以覆盖提供对象的文本表示的toString()方法Player,在这种情况下,仅提供玩家的名字:

@Override
public String toString() {
    return "Player[name=" + name + "]";
}
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用:

System.out.println(player); // toString() is called if player != null
Run Code Online (Sandbox Code Playgroud)