1-对象属性初始化
对象属性初始化有3种
1. 声明该属性的时候初始化
2. 构造方法中初始化
3. 初始化块
1. 声明该属性的时候初始化
2. 构造方法中初始化
3. 初始化块
代码比较复制代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | package charactor; public class Hero { public String name = "some hero" ; //声明该属性的时候初始化 protected float hp; float maxHP; { maxHP = 200 ; //初始化块 } public Hero(){ hp = 100 ; //构造方法中初始化 } } |
2-类属性初始化
类属性初始化有2种
1. 声明该属性的时候初始化
2. 静态初始化块
1. 声明该属性的时候初始化
2. 静态初始化块
代码比较复制代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | package charactor; public class Hero { public String name; protected float hp; float maxHP; //物品栏的容量 public static int itemCapacity= 8 ; //声明的时候 初始化 static {//标注static,表示块中初始化的是类属性 itemCapacity = 6 ; //静态初始化块 初始化 } public Hero(){ } public static void main(String[] args) { System.out.println(Hero.itemCapacity); } } |
3-相关顺序
package
charactor;
public
class
Hero {
public
String name =Hero.getName(
"属性声明"
) ;//1
public
Hero(){
name = Hero.getName(
"构造方法"
);//3
}
{
name = Hero.getName(
"初始化块"
);//2
}
public
static
String getName(String pos){
String result=
"name "
+pos;
System.out.println(result);
return
result;
}
public
static
void
main(String[] args) {
new
Hero();
}
}
