对于 实例变量水平
最终变量只能初始化一次。
必须 在构造函数结束之前 初始化类级别的最终变量。
对于 本地(方法)级别
- 方法级别的最终变量只能初始化一次。
- 使用前* 必须先初始化 *
因此,基本上,如果您不使用局部最终变量,也可以跳过它的初始化。
如果变量处于实例级别,则必须在定义或构造函数主体中对其进行初始化。
在您的代码中,您有一个
final int b永远不会初始化的实例变量,因此会出现错误。
您还有一个
final int a从未使用过的局部变量。因此,该变量没有错误。

对于 实例变量水平
最终变量只能初始化一次。
必须 在构造函数结束之前 初始化类级别的最终变量。
对于 本地(方法)级别
因此,基本上,如果您不使用局部最终变量,也可以跳过它的初始化。
如果变量处于实例级别,则必须在定义或构造函数主体中对其进行初始化。
在您的代码中,您有一个
final int b永远不会初始化的实例变量,因此会出现错误。
您还有一个
final int a从未使用过的局部变量。因此,该变量没有错误。