java 类成员初始化顺序
对象属性初始化
声明属性时初始化
在初始化块中初始化
在构造方法中初始化
执行顺序 : 最先执行的是在定义属性时初始化的内容,再次是初始化块中对属性的初始化,最后是执行在构造方法中属性的初始化。
类属性初始化
声明该属性的时候初始化
静态代码块初始化
执行顺序 :按照编写顺序执行。
final变量的初始化方式
final变量只能被初始化一次!!!
成员变量
1、在定义变量时直接赋值。
2、声明完变量后在构造方法中为其赋值。注意:如果采用用这种方式,那么每个构造方法中都要有j赋值的语句。
3、声明完变量后在构造代码块中为其赋值。
以上方式只能选择一种。
类变量
1、在定义类变量时直接赋值。
2、在静态代码块中赋值。
以上方式只能选择一种。
总结
属性、方法、构造方法和自由块都是类中的成员,在创建类的对象时,类中各成员的执行顺序:
1.父类静态成员和静态代码快,按在代码中出现的顺序依次执行。
2.子类静态成员和静态代码块,按在代码中出现的顺序依次执行。
3. 父类的实例成员和实例代码块,按在代码中出现的顺序依次执行。
4.执行父类的构造方法。
5.子类实例成员和实例代码块,按在代码中出现的顺序依次执行。
6.执行子类的构造方法。
莫听穿林打叶声,何妨吟啸且徐行!!!