类初始化包括3部分:
1、非静态块定义的初始值;
2、类中的变量属性的赋的初始值;(1和2是顺序执行的)
3、类的构造器中的初始值;(1和2执行后,再执行的)
存在继承的情况如下:
类中存在静态块和静态变量时:
1、静态块和静态变量 是在类加载的时候执行赋值的,且执行一次,二者的执行顺序和代码顺序一致;
2、类实例化时,仅对非静态块和变量;
类继承时:
初始化子类时,子类不仅要保存本类的所有实例变量,也要保存它的所有父类定义的全部实例变量;(包括父子类定义的相同的变量)
final:
1、修饰变量不能赋值;
1.1、修饰实例变量:
1.2、修饰静态变量:
2、final修饰方法不能被重写
3、内部类中的局部变量
本文详细探讨了Java中类的初始化步骤,包括非静态块、变量属性赋值和构造器执行顺序。同时,分析了类加载时静态块和静态变量的处理,以及在继承场景下的实例化行为。此外,还提及了final关键字在类实例化中的应用。
965

被折叠的 条评论
为什么被折叠?



