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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

各执行几次?

6 个回复

倒序浏览

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方法



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

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

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

然后只要调用方法就会执行局部代码块,先后顺序看你放的顺序.
               
回复 使用道具 举报
看看!!!学习下!!!
回复 使用道具 举报
今天才看到 这里  一头雾水 现在似乎明白点了 谢谢大神
回复 使用道具 举报
郭春兴 发表于 2016-4-17 14:50
public class text {
public static void main(String[] args) {
        F f=new F();

很详细~
回复 使用道具 举报
静态代码块运行的时候只执行一次,构造方法每次编译都会执行,他们的顺序是先执行静态代码块再到构造代码块最后是构造方法
回复 使用道具 举报
yy0328 中级黑马 2016-4-17 22:17:18
7#
谢谢老司机的回答
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马