黑马程序员技术交流社区

标题: 静态代码块,构造方法,构造代码块执行流程? [打印本页]

作者: wanbing522    时间: 2016-4-17 14:31
标题: 静态代码块,构造方法,构造代码块执行流程?
各执行几次?
作者: 郭春兴    时间: 2016-4-17 14:50

public class text {
public static void main(String[] args) {
        F f=new F();
        f.method();
        F w=new F();
        w.method();
       
}
}

class F{
        static{
                System.out.println("我是静态代码块");
         }
       
       
        {
                        System.out.println("我是构造代码块");
        }


        public F() {
                super();
                System.out.println("我是构造方法");
               
        }
        public void method(){
                {
                        System.out.println("我是局部代码块");
                }
                System.out.println("我是method方法");
        }
       
}

输出:我是静态代码块
我是构造代码块
我是构造方法
我是局部代码块
我是method方法
我是构造代码块
我是构造方法
我是局部代码块
我是method方法



从上面可以看出:
静态代码块随着类的加载而加载,并且只执行一次.

构造代码块随着对象的创建而被执行,创建一个对象执行一次

构造方法在构造代码块之后执行

然后只要调用方法就会执行局部代码块,先后顺序看你放的顺序.
               
作者: GoodGoogStudy    时间: 2016-4-17 19:24
看看!!!学习下!!!
作者: Yoyoqiu    时间: 2016-4-17 20:18
今天才看到 这里  一头雾水 现在似乎明白点了 谢谢大神
作者: Lee♥晓蕾    时间: 2016-4-17 21:15
郭春兴 发表于 2016-4-17 14:50
public class text {
public static void main(String[] args) {
        F f=new F();

很详细~
作者: 林明辉    时间: 2016-4-17 22:02
静态代码块运行的时候只执行一次,构造方法每次编译都会执行,他们的顺序是先执行静态代码块再到构造代码块最后是构造方法
作者: yy0328    时间: 2016-4-17 22:17
谢谢老司机的回答




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