java中的静态属性和静态块谁先加载?
问题补充:在一个类中进行了如下定义static{ number=10; System.out.println(number);}static int number;我第三行报错了,这是为什么?
最佳答案
你这个是顺序执行,把static int number;移到静态代码块上面就不报错了
追问:
移到上面确实不报错,但是我不移的话把number改成Test.number也可以输出不报错,这又是问什么?
追问:
Test是这个类的类名
恩这个问题的话 就是static中加上Test.number的话就是这个number随着类的加载直接加载了,而static静态代码块也是这个时候加载的 这个是不分先后的
最佳答案由网友 脑袋空空LF 提供
其他回答
暂无其它回答!