java名称和年龄的简单输出

java名称和年龄的简单输出,java,output,Java,Output,我对java有点陌生,我在这方面非常努力。我只想做一个有史以来叫Stefan的系统 public class Person { public int alter; public String placeofbirth; public Person(int alter, String placeofbirth) { this.alter = alter; this.placeofbirth = placeofbirth; } P

我对java有点陌生,我在这方面非常努力。我只想做一个有史以来叫Stefan的系统

    public class Person {

    public int alter;
    public String placeofbirth;

    public Person(int alter, String placeofbirth) {
    this.alter = alter;
    this.placeofbirth = placeofbirth;
    }

    Person stefan = new Person(19, "Berlin");

    public String toString() {
    return "test" + stefan;
    }

    public static void main(String[] args) {

    System.out.println(stefan);
    }

    }
我做错了什么


非常感谢您的帮助

只要您需要写返回测试+出生地点;检查:返回试验+stefan`

您必须将@override注释添加到toString方法以覆盖它。System.out.println将自动调用toString方法。@ChW@Override标记仅在方法实际上没有重写方法时产生错误,这不是必需的,但非常有用。将Person的实例化移动到main方法中。Person的toString将创建一个可怕的StackOverflower错误,因为它是一个递归方法。将其更改为公共字符串toString{return test+alter++placeofbirth;}。另外,stefan这个人不在main方法的范围内。不,printlnObject自动调用toStringYes抱歉,我的不好,我没有看到他递归调用函数toStringWell你的答案会向正确的方向移动。