java中构造代码块

1、构造代码块的作用:用于对所有对象进行初始化,创建任意对象的时候都会执行构造代码块;(因为构造函数可以重载,所以构造函数只能够对特定对象进行初始化)

2、构造代码块的调用:在创建对象的时候,由jvm统一调用;

3、构造代码块格式:构造代码块位于类内部、成员函数之外;

4、构造代码块、构造函数、成员变量静态初始化的先后顺序

  • class ConstructModel{
        //对类中成员变量进行初始化
        int i = 10000;
    
        //构造代码块修改成员变量
        {
            i = 200000;
            System.out.println("我是构造代码块!");
        }
    
        //构造函数对类中成员变量进行初始化
        ConstructModel(int ii)
        {
            i = ii;
        }
    }
    //main方法
    public class Constructor {
        public  static  void main(String []args)
        {
            ConstructModel c = new ConstructModel(1);
            System.out.println("此时i值为:" + c.i);
        }
    }

     

 它的输出结果为1,因为这里只是作为笔记记录,就不在详细分析构造代码块、构造函数、成员变量静态初始化三者执行先后顺序了,详细可以自己修改位置进行测试。

系统首先会执行:成员变量静态初始化i=100000;

然后执行构造代码块:i=20000;

最后执行构造函数;

分析:不管任何情况,构造函数都是会被最后执行。构造代码块、成员变量静态初始化执行的先后顺序会根据它们在类中先后顺序执行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值