Это обычное объявление константы в Java.
private static final int THRESHOLD = 3;
Это означает, что все экземпляры вашего класса будут иметь доступ к одному и тому же полю .
Когда вы объявляете его как private final int THRESHOLD = 3;
, это означает, что каждый экземпляру вашего класса будет его собственная копия поля THRESHOLD
.Не имеет смысла объявлять его нестатичным, когда вы немедленно его инициализируете:
private final int THRESHOLD = 3;
Объявление нестатических полей final имеет смысл, когда вы инициализируете их в конструкторе.Таким образом, все экземпляры имеют одно и то же поле констант с разными значениями:
private final int threshold;
protected YourConstructor(int threshold){
this.threshold = threshold;
}
Просто следуйте советам Сонарлинта и объявите его как static
константу.