尝试通过 toString() 打印对象

Trying to print object through toString()

我正在尝试打印球员 class(表现、受伤和姓名)和主要 class 中的各个对象,但是当我尝试打印整个球员对象时执行 toString(); classes 上的方法,我只收到 player@2eb3998c 或 Main@37e6e526。我哪里错了?

感谢您的帮助。

玩家class:

  package com.laurens;

/**
* Created by laurensvanoorschot on 20-01-16.
*/
 public class player {
 private String name;
 private int performance;
 private boolean injured;

    public  player(int performance, boolean injured, String name) {
    this.injured = injured;
    this.name = name;
    this.performance = performance;
}

public boolean isInjured() {
    return injured;
}

public void setInjured(boolean injured) {
    this.injured = injured;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public int getPerformance() {
    return performance;
}

public void setPerformance(int performance) {
    this.performance = performance;
}

@Override
public String toString() {
    return "com.laurens.player{" +
            "injured=" + injured +
            ", name='" + name + '\'' +
            ", performance=" + performance +
            '}';
}
 }

主要Class:

  package com.laurens;
  public class Main {
    private player player;
   public static void main(String[] args) {
    player player = new player (4, true, "laurens");
    player.toString();
}


public com.laurens.player getPlayer() {
    return player;
}

@Override
public String toString() {
    return super.toString();
}

public void setPlayer (int performance, String name) {
    if (performance < 4) {

        boolean injured = true;


    }



}
}

使用

System.out.println(player.toString());

toString() returns 对象的 string/textual 表示。 How to use the toString method in Java?

显式调用打印,显示您的属性:

System.out.println(player.toString());

以及:

System.out.println(player);

很可能,您只是忘记了重新编译您的 classes;您的 Player 代码很好(并且您的 Main class 中有您不知道的错误,这表明无需重新编译)。也就是说,您发布的代码中没有任何内容可以实际打印 anythingSystem.out.println(实际上,任何 PrintWriter 打印方法)都会自动调用对象上的 toString(),因此您无需自己执行,只需

System.out.println(player);