【发布时间】:2012-02-01 15:51:10
【问题描述】:
此代码无法编译,因为存在对静态字段的非法引用。
public enum Foo {
A,
B;
private Foo[] foos = new Foo[] { Foo.A };
}
您不应该能够从非静态字段初始化程序访问静态字段吗?例如:
public class Foo {
static int A;
private int[] foos = new int[] { Foo.A };
}
这编译得很好。
注意,将第一个示例中的 foos 设为静态编译。
【问题讨论】: