《JAVA初始化》

初始化块

开发工具与关键技术:MyEclipse 10、Java
撰写时间:2019-04-23
作者:潘玉莹

 初始化的定义

  1. 不使用static修饰符的是初始化块
    a) 初始化块相当于是对构造器的补充,用于创建对象时给对象的初始化,在构造器之前执行
    b) 如果一段初始化代码所有构造器完全想相同,并且无需接收参数,那就可以将其提取到非静态初始化中
    c) 实际上,经过编译后,非静态块已经添加构造器中,并且位于所有构造器代码的前面

  2. 使用static修饰符的是静态修饰符
    a) 静态初始化块用static修饰,又叫类初始化
    b) 静态初始化块赋值对类进行初始化,因此类初始化块在类初始化就执行
    c) 静态块跟静态方法一样,不能访问非静态成员
    d) 因为静态块是在类初始化块阶段完成的,因此在创建某个类的第二个对象时,该类的静态块就不会执行了

 单个类中初始化块、静态初始化块、构造器的执行速度
静态初始化块 > 初始化块> 构造器执行 如图所示

 多个类的继承中初始化、静态初始化块、构造器是执行的速度
在继承中,先执行父类A的静态块,父类B的静态块,最后子类的静态块,最后在执行父类A的非静态块和构造器,然后是B类的非静态块和构造器,最后子类的非静态块和构造器;如图所示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值