java中的初始化顺序

类的初始化总共分为下面几种
1.定义变量时的初始化
2.初始化块
创建类的对象时,定义变量并赋初始值之后,最先使用初始化块进行初始化,初始化块分为一般初始化块和静态初始化块
    一般初始化块:形如{},一般初始化块里可以初始化普通成员变量,也可以初始化类成员变量,
    静态初始化块:形如static{},静态初始化块只可以初始化静态成员变量.
    如果同时存在两种初始化块,则静态初始化块最先进行初始化
3.构造器
总结:
<p>当创建一个类的对象时,初始化的顺序依次为:   定义变量并赋初值   ------>     调用静态初始化块    ------->     调用一般初始化块          ------->    调用相应的构造器    ----->    当前方法中进行操作</p>
简单测试

public class InitTest{

    //定义变量并赋初值
    private String name = "成兮";
    private static int age = 10;

    //静态初始化块
    static{
        age = 20;
        System.out.println("静态初始化块初始化中");
    }

    //一般初始化块
    {
        name = "缘分五月";
        System.out.println("一般初始化块初始化中");   
    }

    //构造器
    public InitTest(){
        this.name - "程序猿";
        Systme.out.println("构造器初始化中");
    }

    public static void main(String[] args){

        InitTest test = new InitTest();
        System.out.println("我的名字 -> " + test.name);
        System.out.println("我的年龄 -> " + test.age);  
    }
}


//输出结果

    静态初始化块初始化中
    一般初始化块初始化中
    构造器初始化中
    我的名字 -> 程序猿
    我的年龄 -> 20
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值