It's good practice to declare constants static final whenever possible as per the performance tips as explained here and below is the clarity between static and final static fields.
static means it belongs to the class not an instance, this means that there is only one copy of that variable/method shared between all instances of a particular Class.For example, consider this
public class MyClass {
public static int myVariable = 0;
}
//Now in some other code creating two instances of MyClass
//and altering the variable will affect all instances
MyClass instance1 = new MyClass();
MyClass instance2 = new MyClass();
MyClass.myVariable = 5; //This change is reflected in both instances
final static fields are global constants For eg.
class MyConstants {
public static final double PI = 3.1415926535897932384626433;
}