【发布时间】:2020-01-01 00:12:54
【问题描述】:
谁能解释一下下面的代码是如何工作的,没有任何例外。我在想,当为 SUNDAY 创建新实例时,它也会为 MONDAY(在 SUNDAY 内)创建一个新实例,然后再为 SUNDAY(在 MONDAY 内)创建一个新实例,依此类推......类似于递归,因为它们都是类 Week 的一部分。但我的理解是错误的,因为下面的代码工作正常。
public class Week {
public static final Week SUNDAY = new Week("SUNDAY",0);
public static final Week MONDAY = new Week("MONDAY",1);
private String name;
private int val;
private Week(String name, int val) {
this.name = name;
this.val = val;
}
public int getIndex() {
return this.val;
}
@Override
public String toString() {
return this.name;
}
}
我在阅读 Java 枚举时产生了这个疑问。
【问题讨论】: