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会让编译器自动优化。