黑马程序员技术交流社区

标题: 代码块的运行顺序 [打印本页]

作者: lyy0525    时间: 2016-3-26 21:42
标题: 代码块的运行顺序
public class EEE {
       
       
        private static int k = 0;
        //private static EEE t3;
        private static EEE t1 = new EEE("t1");
        private static EEE t2 = new EEE("t2");
        private static int i = print("i");
        private static int n = 99;
        static {
                print("静态块");
        }
        {
                print("构造块");
        }
        public EEE(String s) {
                System.out.println(++k + ":" + s + "   i:" + i + "   n:" + n);
        }

        private static int print(String s) {
                System.out.println(++k + ":" + s + "   i:" + i + "   n:" + n);
                n++;
                return ++i;
        }

        public static void main(String[] args) {
                EEE t = new EEE("init");
        }

}

运行结果是1:构造块   i:0   n:0
2:t1   i:1   n:1
3:构造块   i:1   n:1
4:t2   i:2   n:2
5:i   i:2   n:2
6:静态块   i:3   n:99
7:构造块   i:4   n:100
8:init   i:5   n:101
为什么






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