黑马程序员技术交流社区

标题: 静态代码块 [打印本页]

作者: Good_Man    时间: 2015-11-27 16:34
标题: 静态代码块
静态代码块:
格式:   
        static{
                执行语句;
        }
特点:随着类的加载而执行,之执行一次,优先于构造函数
          用于给类进行初始化,


事例如下:

class  StaticCode{
        static{
                System.out.println("a");
        }
}
class StaticDemo{
        static{
               System.out.println("b");
        }
        public static void main(String[] args){
              new StaticCod();
              new StaticCod();
              System.out.println("hello");
        }
         static{
               System.out.println("d");
        }
}

运行结果是什么?

答案如下:
b
d
a
hello

分析:
  首先,主函数,先执行构造代码块,依次输出b和d,,new StaticCod()时,会先运行构造代码块,输出a,再new StaticCod()时,不会输出,因为构造代码块仅运行一次,已经存在了,不会在执行,最后输出hello
作者: yuhongzhen    时间: 2015-11-27 18:18
分析的挺到位的,学习了!!
作者: Myth、骞    时间: 2015-11-29 20:28
new StaticCod() 反正你是少敲了一个e吧,我看出来了-。-,  现在的题目不小心不行,虽然你这题木有关系。
学习了~~~好像代码块就是先执行,不管静不静态吧




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2