为什么可以直接打印对象day
Topic source因为System.out.println("Today is " + day+ ", work at home!");
相当于System.out.println("Today is " + day.toString() + ", work at home!");
system.out.println本质上调用的是class 的 toString()方法,在class 重写了 toString()方法,所以导致返回的是chinese,也就是第二个参数。
public class Main {
public static void main(String[] args) {
Weekday day = Weekday.SUN;
if (day.dayValue == 6 || day.dayValue == 0) {
System.out.println("Today is " + day + ". Work at home!");
} else {
System.out.println("Today is " + day + ". Work at office!");
}
}
}
enum Weekday {
MON(1, "星期一", "first"), TUE(2, "星期二", "second"), WED(3, "星期三", "third"), THU(4, "星期四", "fourth"), FRI(5, "星期五", "fifth"), SAT(6, "星期六", "sixth"), SUN(0, "星期日", "seventh");
public final int dayValue;
private final String chinese;
private final String english;
private Weekday(int dayValue, String chinese, String english) {
this.dayValue = dayValue;
this.chinese = chinese;
this.english= english;
}
@Override
public String toString() {
return this.english;
}
}
Today is seventh. Work at home!
- 1
嘤嘤嘤呀dance
廖老师,直接打印对象day为什么会得到星期日,这是什么机制鸭