栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

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

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

牛客题: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 构造函数:使用默认构造函数,没任何输出。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/459014.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号