对象属性初始化
- 声明该属性的时候初始化
- 构造方法中初始化
- 在代码**块**中初始化 ```java package charactor;
public class Hero { public String name = “some hero”; //声明该属性的时候初始化 protected float hp; float maxHP;
{
maxHP = 200; //初始化块
}
public Hero(){
hp = 100; //构造方法中初始化
}
}
<a name="78f87357"></a>
#
<a name="wuFVA"></a>
# 类对象初始化
1. **声明该属性**的时候初始化
1. 在**静态代码块**中初始化
```java
package charactor;
public class Hero {
public String name;
protected float hp;
float maxHP;
//物品栏的容量
public static int itemCapacity=8; //声明的时候 初始化
static{
itemCapacity = 6;//静态初始化块 初始化
}
}
初始化顺序
- 初始化静态变量,但未赋值
- 执行静态变量赋值表达式和静态代码块,按照代码顺序执行
- 初始化普通变量,但未赋值
- 执行普通变量赋值表达式和普通代码块,按照代码顺序执行
- 执行构造函数
简言之,先静态后普通,最后执行构造函数。