请帮助,我遇到这种问题。
我的班级考试
private boolean status;
private double price;
String message = "Good luck";
我的考试班的建设者
public Exam(String period, String level) {
}
public void setPrice(double p) {
this.price = p;
}
public double getPrice() {
return price;
}
public void setFinished(boolean f) {
this.status = f;
}
public boolean isFinished() {
return status;
}
class Midterm extends Exam {
public Midterm(String period, String level) {
super(period, level);
System.out.println("Exam has started");
}
}
扩展测验的班级测验
public Quiz(String period, String level) {
super(period, level);
}
class Essay extends Quiz {
public Essay(String period, String level) {
super(period, level);
}
}
}
public static void main(String[] args) {
Exam e = new Exam("wew", "wew");
System.out.println(e);
}
}
我在这里得到的是这样的asd.Exam@36baf30c
,我想要的是显示我分配的字符串
答案 0 :(得分:0)
调用System.out.println
方法时,它将调用要打印的对象的toString
方法。 toString
方法的默认值为:
getClass().getName() + '@' + Integer.toHexString(hashCode())
因此,如果要为对象打印一些自定义值,则需要按如下所示覆盖该对象中的toString
:
@Override
public String toString() {
return "Exam: " + period + " : "+ level;
}