public class Demo1 {
static {
test = 1;
// System.out.println(test);
}
static int test;
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
其实上面的代码,编译器会自动编译为:
import java.io.PrintStream;
public class Demo1
{
static int test = 1;
public static void main(String[] args)
{
System.out.println("Hello World!");
}
}
所以导致没有定义的,也可以先赋值。
注意问题:要有static的包围着,static会让编译器自动优化。
转载于:https://blog.51cto.com/sherwin28/1782438