黑马程序员技术交流社区

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

作者: a12366456    时间: 2015-7-21 22:12
标题: 代码块的执行顺序
class Fulei {
        public Fulei() {
                System.err.println("1父类构造函数");
        }
        static {
                System.err.println("2父类静态代码块");
        }
        {
                System.err.println("3父类构造代码块");
        }
        public static void main(String[] args) {
                new Zilei();
        }
}

class Zilei extends Fulei{
        public Zilei() {
                // TODO Auto-generated constructor stub
                System.err.println("4子类构造函数");
        }
        static {
                System.err.println("5子类静态代码块");
        }
        {
                System.err.println("6子类构造代码块");
        }
}
执行结果是:
2父类静态代码块
5子类静态代码块
3父类构造代码块
1父类构造函数
6子类构造代码块
4子类构造函数
不仅父类的静态代码块在父类构造代码块之前执行,连子类的静态代码块也在父类的构造代码块之前执行。


作者: longbao    时间: 2015-7-21 23:30
说的不错,,,




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