Java教程

牛客题:Java静态块、构造块执行顺序

本文主要是介绍牛客题:Java静态块、构造块执行顺序,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
public class Test
{
    public static Test t1 = new Test();//静态变量

    //构造块
    {
        System.out.println("AAA");
    }

    //静态块
    static
    {
        System.out.println("BBB");
    }
    public static void main(String[] args)
    {
        Test t2 = new Test();
        System.out.println("CCC");
    }
}

运行结果:

 

静态块:用staitc声明,jvm加载类时执行,仅执行一次

构造代码块:类中直接用{}定义,每一次创建对象时执行。

执行顺序优先级:静态域,main(),构造代码块,构造方法

1 静态块 :首先执行,第一个静态域是一个静态变量 public static Test t1 = new Test(); 创建了Test 对象,会执行构造块代码,所以输出blockA。然后执行第二个静态块(即静态代码块)输出blockB。

2 main():Test t2 = new Test()执行,创建Test类对象,只会执行构造代码块(创建对象时执行),输出blockA。

3 构造代码块只会在创建对象时执行,没创建任何对象了,所以没输出。

4 构造函数:使用默认构造函数,没任何输出。

这篇关于牛客题:Java静态块、构造块执行顺序的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!