本帖最后由 我为你着迷 于 2014-4-4 23:06 编辑
- class StaticCode
- {
- static
- {
- System.out.println("a");
- }
- public static void show()
- {
- System.out.prinln("show run");
-
- }
- }
- class StaticCodeDemo
- {
- static
- {
-
- }
- public static void String[] args}
- {
- StaticCode.show();
- }
-
- static
- {
-
- }
- }
复制代码 大家好,我有个问题就是 StaticCode一调用上边的StaticCode类,那么类就会在内存中加载,所以静态代码块优先执行从而先打印的是a,最后打印的是show方法里边的show run。
可是我的理解是只要show方法一调用的话应该先打印的是show run的呀,而不是先打印的a呀。毕老师说静态代码块是优先于主函数运行,那么show又不是主函数,所以应该是先打印的是show run才对的呀!转不过弯来。麻烦大伙帮忙解决下,谢谢了!最后还有一个问题! 就是静态代码块是优先于构造代码块先执行的吗?
|