Java静态块

静态块,说句实话这个理解和编写都是很简单的,但是深入了解后又会发现里面的内容也是很多的

一、定义

用static申明,JVM加载类时执行,仅执行一次

二、格式

static{
//代码
}

二、静态块、静态变量和main谁先调用

static {
        a = 20;
        System.out.println("11");
//        System.out.println(a);//会报错
    }

    private static int a=1;

    static {
        System.out.println("12");
        System.out.println("1 a=" + a);
    }

    public static void main(String[] args) {
        System.out.println("3 a=" + a);
        System.out.println("5 a=" + JdbcUtil.a);
    }

    static{
        System.out.println("13");
    }

输出结果

11
12
1 a=1
13
3 a=1
5 a=1

静态块和静态变量比main先运行

静态块和静态变量以从上到下的顺序执行

三、作用

很多人常说,我一个静态变量根本不要直接的使用静态块中,我可以直接执行在类中,这是语法确实没有错误,所以静态块的真正优点在于可以在调用该类时可以先执行一次,这个方法很实用与工具类的环境编写中。比如JdbcUtil的MySQL驱动加载。

原文地址:https://www.cnblogs.com/hahayixiao/p/14185927.html