代码块 静态代码块 局部代码块 构造代码块

代码块

在这里插入图片描述

代码演示

public class Teacher {
    public Teacher(){                                   //
        System.out.println("我是Teacher构造函数");      //构造函数
    }                                                //     
    {                                                 //
        System.out.println("我是Teacher构造代码块");   //构造代码块
    }                                               //
    static{                                             //
        System.out.println("我是Teacher静态代码块");     //静态代码块
    }                                                 //
    public static void main(String[] args) {
        {                                              //
            System.out.println("我是Teacher局部代码块");//局部代码块
        }                                            //
        Teacher t = new Teacher();
        System.out.println("----------------");
        Teacher tt = new Teacher();
    }

结果

我是Teacher静态代码块
我是Teacher局部代码块
我是Teacher构造代码块
我是Teacher构造函数
----------------
我是Teacher构造代码块
我是Teacher构造函数

  注:静态代码块都是先执行的,并且只执行一次,因为它是随着类的加载而加载的,执行程序时只加载一次类,因此它只执行一次;局部代码块也执行一次,因为它用完会自动释放内存,因此不会再执行第二次,如果它出现在new的对象前它会比构造代码块先执行,反之则执行在构造方法后;构造代码块比构造方法先执行

猜你喜欢

转载自blog.csdn.net/grey_mouse/article/details/83246465