您当前的位置: 首页 >  Java

星夜孤帆

暂无认证

  • 4浏览

    0关注

    626博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Java代码块解析

星夜孤帆 发布时间:2021-06-24 18:00:38 ,浏览量:4

前言

在学习java过程中,有一个关键的知识点是绕不开的,那就是:类中成员的加载顺序。本文主要讲解的是静态代码块、构造代码块及构造方法的加载顺序。

概念

构造代码块:定义在类的成员位置上,使用"{}"括起来的代码。

静态代码块:定义在类的成员位置上,使用"{}"括起来的代码,只是多了一个static修饰。

构造方法:这个不多说了,码农们都知道。

案例
public class SuperTest {

    static {
        System.out.println("SuperTest--->静态代码块");
    }

    {
        System.out.println("SuperTest--->构造代码块");
    }

    public SuperTest() {
        System.out.println("SuperTest--->构造方法");
    }
}
public class SubTest extends SuperTest{

    static {
        System.out.println("SubTest--->静态代码块1");
    }

    static {
        System.out.println("SubTest--->静态代码块2");
    }

    {
        System.out.println("SubTest--->构造代码块1");
    }

    public SubTest() {
        System.out.println("SubTest--->构造方法");
    }

    {
        System.out.println("SubTest--->构造代码块2");
    }

    public static void main(String[] args) {
        new SubTest();
        new SubTest();
    }
}

总结

1.构造方法执行之前,首先会去执行构造代码块,也就是说构造代码块是优于构造方法执行。

2.构造代码块的位置不受构造方法的影响。

3.多个构造代码块存在的时候,构造代码块执行的顺序是根据先后顺序来去执行。

4.构造代码块的作用:可以将多个构造方法中的共同代码放到构造代码块中。

5.静态代码块是类被加载的时候就会执行,静态代码块只会被执行一次。

参考博客、参考博客

关注
打赏
1636984416
查看更多评论
立即登录/注册

微信扫码登录

0.1254s