final
的字段。
所有 final
字段都应具有一个不会更改的值,从而使代码更易于推理。
为避免分析开销过大,此检查仅报告字段是否具有 private
修饰符或者是否在局部类或匿名类中定义。
如果满足以下条件,字段可以为 final
:
static
,并在其声明或 static
初始值设定项中进行了一次初始化。static
,并在其声明、实例初始值设定项或每个构造函数中进行了一次初始化示例:
public class Person {
private String name; // 可以为 final
Person(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
在应用快速修复后:
public class Person {
private final String name;
Person(String name) {
this.name = name;
}
public String getName() {
return name;
}
}