此代码编译(使用Java 8),给予警告The assignment to variable value has no effect
:爪哇初始化静态字段本身
package test;
public class Test {
private static int value;
static {
value = Test.value;
}
public static void main(String[] args) {
System.out.println(value);
}
}
程序输出0
按预期方式。但为什么编译器允许这样做,用例是什么?
好吧,它警告你,无论如何,这是毫无意义的,我猜这是侵入性的,不允许某人写出明显的东西,它并不真正影响流你的程序,为什么你会期望编译错误? – theMarceloR 2014-09-04 10:47:37
有一个用例,看到我的答案在下面... – CodeFanatic 2014-09-04 11:24:04
@Andrew Moss很好,你接受一个答案,它不回答你的问题什么是用例... – CodeFanatic 2014-09-04 11:29:53