java普通代码块,静态代码块和构造器在实例化时执行顺序

本文深入探讨了Java中对象创建过程中的构造与初始化顺序,包括静态代码块、构造代码块、构造器以及方法调用的执行优先级。通过具体代码示例,详细解释了这些代码块的执行流程及原理,帮助读者理解Java对象初始化机制。

测试代码:

public class test4 {
    {
        System.out.println(1);
    }

    static {
        System.out.println(2);
    }

    test4() {
        System.out.println("构造器");
    }

    {
        System.out.println(3);
    }

    void say() {
        System.out.println("say");
    }
    {
        System.out.println(4);
    }
}

class t {
    public static void main(String[] args) {
        new test4().say();
    }
}

输出结果:

2
1
3
构造器
say

一点结论:执行优先级,看代码和代码块所处的顺序位置没有关系

静态代码块>构造代码块>构造器>调用方法

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值