类中变量的初始化

这位老兄 对类的初始化讲的太好了,  http://zangweiren.iteye.com/blog/208122

 

下面引用他的结论:

1)单个类内进行初始化时顺序

  1. 静态变量 & 静态初始化块
  2. 变量 & 初始化块
  3. 构造器

2)继承中类初始化时顺序

  1. 父类--静态变量 & 父类--静态初始化块
  2. 子类--静态变量 & 子类--静态初始化块
  3. 父类--变量 & 父类--初始化块
  4. 父类--构造器
  5. 子类--变量 & 子类--初始化块
  6. 子类--构造器

3)静态变量 vs 静态初始化块

静态变量和静态初始化块的优先级是相同的,依照他们在类中的定义顺序决定初始化的顺序,即谁先定义就先初始化谁。

 

4)变量 vs 初始化快

遵循和 3) 中同样的规则,即它们是相同优先级的,定义顺序决定初始化顺序,先定义的先初始化。

 

补充说明:

静态初始化块 是前面加了 static 关键字的 花括号,如 static {...}

初始化块 是花括号,如 {...}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值