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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 赵侃 黑马帝   /  2011-8-7 22:26  /  1899 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

以前听老师提到过的一个知识点,分享给大家
[code=java]public class Test01 {
        static int x = 10;
        static {
                x += 5;
                System.out.println("执行语句块1");
        }
        {
                x += 6;
                System.out.println("执行语句块2");
        }
        public Test01(){
                System.out.println("执行构造方法");
        }
        public static void main(String[] args){
        
                System.out.println("创建Test01对象");
                Test01 t = new Test01();
                System.out.println("x=" + t.x);
        
        }
        
        static {
                x /= 3;
                System.out.println("执行语句块3");
        }

}[/code]
输出:
执行语句块1
执行语句块3
创建Test01对象
执行语句块2
执行构造方法
x=11
静态语句块static{}中的代码在类加载时就执行了,普通语句块{}中的代码在对象初始化的时候执行,注意普通语句块会在执行构造方法之前执行

1 个回复

倒序浏览
黑马网友  发表于 2011-8-8 02:08:31
沙发
==谢谢分享
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马