21.2 代码块

百般思念 提交于 2020-01-02 00:07:57
/** 代码块:即{}* 局部代码块:存在于方法中,控制变量的生命周期(作用域)*构造代码块:提取构造方法中的共性,每次创建对象都会去执行,并且执行顺序比构造方法优先*静态代码块:随着类的加载而加载,只加载一次,加载类时需要做的一些初始化,比如加载驱动(有static的特性:被所有对象共享,静态所修饰的成员加载优先于对象,随着类的加载而加载)*无参和有参之间没有先后顺序,根据调用顺序执行* */
package day21_static.代码块;

public class BlockDemo {
    public static void main(String[] args) {
        {
            System.out.println("局部代码块");
        }

        Teacher t = new Teacher("xiao",12);
        Teacher t2 = new Teacher();
    }
}

class Teacher {
    String name;
    int age;

    {
        System.out.println("构造代码块,存在于构造方法中");
    }

    static {
        System.out.println("静态代码块,加 static.");
    }

    public Teacher() {
        System.out.println("无参构造");
    }

    public Teacher(String name,int age) {
        System.out.println("有参");
    }
}

 

输出如下

main:局部--有参(静态代码块--代码块--有参)--无参(静态代码块只执行一次--代码块--无参)

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!