初始化的几种形式

对象属性初始化有3种
1. 声明该属性的时候初始化    2. 构造方法中初始化    3. 初始化块

public  class  Hero {
     public  String name =  "some hero" //声明该属性的时候初始化
     protected  float  hp;
     float  maxHP;
     
     {
         maxHP =  200 //初始化块
     }  
     
     public  Hero(){
         hp =  100 //构造方法中初始化
         
     }
     
}
类属性初始化有2种
1. 声明该属性的时候初始化

2. 静态初始化块

package  charactor;
 
public  class  Hero {
     public  String name;
     protected  float  hp;
     float  maxHP;
     
     //物品栏的容量
     public  static  int  itemCapacity= 8 //声明的时候 初始化
     
     static {
         itemCapacity =  6 ; //静态初始化块 初始化
     }
     
     public  Hero(){
         
     }
     
     public  static  void  main(String[] args) {
         System.out.println(Hero.itemCapacity);
     }
     
}

类的初始化顺序

静态变量, 静态代码快 -》 实例变量(属性,实例代码块,构造方法)

继承关系初始化顺序

父类静态成员,静态代码块 -》 子类静态成员,静态代码块 -》 父类实例变量(属性,实例代码块,构造方法)-》子类实例变量(属性,实例代码块,构造方法)

相同等级的初始化的先后顺序,是直接依赖代码中初始化的先后顺序



猜你喜欢

转载自blog.csdn.net/weixin_42030389/article/details/80584836
今日推荐