我实现了一个基于给定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;
}
答案 0 :(得分:3)
您需要使用toString
,而不是tostring
,因为Java区分大小写。因此:
public String toString()
技术上,tostring与Java中的toString不同。拼写小心。如果您的编辑器支持它,请使用@Override
注释。 @Override
注释可以保护您不会覆盖正确的方法。