A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Good_Man 中级黑马   /  2015-11-27 16:34  /  1541 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

静态代码块:
格式:   
        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

2 个回复

倒序浏览
分析的挺到位的,学习了!!
回复 使用道具 举报
new StaticCod() 反正你是少敲了一个e吧,我看出来了-。-,  现在的题目不小心不行,虽然你这题木有关系。
学习了~~~好像代码块就是先执行,不管静不静态吧
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马