Потому что это не константы времени компиляции. Рассмотрим следующий допустимый код:
public static final int BAR = new Random().nextInt();
Вы можете знать только значение BAR во время выполнения.
BAR