覆盖tostring()

时间:2013-04-15 06:41:22

标签: java

我实现了一个基于给定GUI的类,我试图覆盖tostring()以便在GUI上显示信息,但我无法让它正常工作。

GUI代码

private void updateDisplay() {
    try {
        if (game.isAccepted()) {
            String str = "Selected Applicant:\n\n"
                    + currentApplicant.toString() + "\n\nwas ";
            if (game.isBestApplicant()) {
                str += "the BEST.  You Win!";
            } else {
                str += "not the best available.  You Lose.\n\nBest applicant was: \n\n"
                        + game.getBestApplicant();
            }
            display.setText(str);
            showNewGameControls();
        } else {
            display.setText("Current applicant is:\n\n"
                    + currentApplicant.toString()
                    + "\n\nDo you wish to accept or reject?");
            showCurrentGameControls();
        }
    } catch (HiringException e) {
        display.setText(e.getMessage());
    } catch (Exception e) {
        display.setText("Unandled Exception: " + e.toString());
        throw new RuntimeException(e);
    }
}

对于我正在实施的课程,我写了以下方法

public String tostring(){
  return currentApplicant;
}

1 个答案:

答案 0 :(得分:3)

您需要使用toString,而不是tostring,因为Java区分大小写。因此:

public String toString()
技术上,tostring与Java中的toString不同。拼写小心。如果您的编辑器支持它,请使用@Override注释。 @Override注释可以保护您不会覆盖正确的方法。