Again, you can't override variables. If you re-declare them in an extending class, then you're just "hiding" them...
So how do you require subclasses to value "constants" declared in the superclass? I think the code I posted earlier does that.
By the way, only classes, interfaces, and methods can be abstract. A variable can't be abstract. If a variable is static and final, then it must be assigned a value at declaration or within static block. (If it's final without being static, then it must be assigned a value by the time the constructor exits.) So you're not going to have much luck with...
abstract static final
String NAME;