- class Test
- {
- public static final int a=2*3;
- static {
- System.out.println("init Main");
- }
- public static void main(String[] args)
- {
- System.out.println(Test.a);
- }
- }
复制代码
第一段代码是这样吧.因为编译一个类的时候会出现一个字节码文件,这时最先初始化静态代码块,所以输出结果是,
init Main
6
第二段代码你只是启动了main函数吧,那么肯定TestObject类就不会给初始化了,除非你实例下TestObject |