易于理解的java静态代码块,构造方法,构造代码块的执行先后顺序!!!

易于理解的java静态代码块,构造方法,构造代码块的执行先后顺序

  本文总结一下关于java静态代码块,构造方法,构造代码块的执行先后顺序(父子类)。

在Java中,当创建父类和子类的对象时,会涉及到静态代码块构造代码块构造方法的执行顺序。下面先给出静态代码块,构造方法,构造代码块详细介绍,之后使用Java代码示例得出正确执行顺序。

1. 静态代码块

  静态代码块在类加载时执行,且只执行一次。它用于初始化静态变量执行静态操作

2. 构造代码块

  构造代码块在每次创建对象时都会执行,优先于构造方法执行。它用于初始化实例变量执行实例操作

3. 构造方法

  构造方法用于初始化对象,可以有多个构造方法,但只有一个会被调用

执行顺序:

父类的静态代码块-> 子类的静态代码块 -> 父类的构造代码块-> 父类的构造方法-> 子类的构造代码块-> 子类的构造方法

Java代码示例:

class Parent {
    static { //静态代码块
        System.out.println("Parent Static Block");
    }

    { //构造代码块
        System.out.println("Parent Instance Initializer Block");
    }

    public Parent() {
        System.out.println("Parent Constructor");
    }
}

class Child extends Parent {
    static {//静态代码块
        System.out.println("Child Static Block");
    }

    {//构造代码块
        System.out.println("Child Instance Initializer Block");
    }

    public Child() {
        System.out.println("Child Constructor");
    }
}

public class Main {
    public static void main(String[] args) {
        Child child = new Child();  
    }
}

执行结果:

Parent Static Block
Child Static Block
Parent Instance Initializer Block
Parent Constructor
Child Instance Initializer Block
Child Constructor



总结

   由以上执行结果可以看出,执行顺序父类的静态代码块-> 子类的静态代码块 -> 父类的构造代码块-> 父类的构造方法-> 子类的构造代码块-> 子类的构造方法 是正确的。
  希望对看到本文的你有帮助。



上一篇 java中的包装类(自动拆箱装箱)。
记得点赞收藏哦!!!
下一篇 Java中的序列化和反序列化详解!!!
  • 13
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值