Вы получаете константное выражение, требуемое , потому что вы оставили значения вне своих констант. Попробуйте:
public abstract class Foo {
...
public static final int BAR=0;
public static final int BAZ=1;
public static final int BAM=2;
...
}