Java类中字段的初始化顺序
我认为,一个类可以分为两个区域。一个是字段区,另一个是方法区。
当创建一个对象时,一定会先初始化字段区。在初始化的过程中,基本数据类型会自动初始化,引用类型如果不赋值的话会被初始化为null。
如果遇上static修饰的字段,那么在两种情况下会初始化:
- 字段所在的类生成了一个对象。
- 字段所在的字段区被访问。
而不被static修饰的字段,只会字段所在的类生成了一个对象时才会初始化。
我认为,一个类可以分为两个区域。一个是字段区,另一个是方法区。
当创建一个对象时,一定会先初始化字段区。在初始化的过程中,基本数据类型会自动初始化,引用类型如果不赋值的话会被初始化为null。
如果遇上static修饰的字段,那么在两种情况下会初始化:
而不被static修饰的字段,只会字段所在的类生成了一个对象时才会初始化。