此代码有错误
public class DoIt {
public static void main(String[] args) {
final class Apple {
public static String place = "doIt";
}
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
System.out.println(Constants.place);
}
});
thread.start();
}
}
错误 - 字段名称不能在非静态内部类型中声明为静态,除非使用常量表达式初始化
请您参考如下方法:
问题在于该字段是非final的:在非静态内部类的上下文中只允许final字段是静态的:
final class Apple {
// This should compile
public static final String place = "doIt";
}