Por que as classes Java não podem ter campos abstratos como podem ter métodos abstratos?
Por exemplo: eu tenho duas classes que estendem a mesma classe base abstrata. Cada uma dessas duas classes tem um método idêntico, exceto por uma constante String, que por acaso é uma mensagem de erro, dentro delas. Se os campos pudessem ser abstratos, eu poderia tornar essa constante abstrata e puxar o método para a classe base. Em vez disso, tenho que criar um método abstrato, chamado getErrMsg()
neste caso, que retorna String, sobrescrever esse método nas duas classes derivadas e, então, posso puxar o método (que agora chama o método abstrato).
Por que eu não poderia simplesmente tornar o campo abstrato para começar? O Java poderia ter sido projetado para permitir isso?