Perché le classi Java non possono avere campi astratti come possono avere metodi astratti?
Ad esempio: ho due classi che estendono la stessa classe base astratta. Queste due classi hanno ciascuna un metodo identico ad eccezione di una costante String, che sembra essere un messaggio di errore, al loro interno. Se i campi potessero essere astratti, potrei rendere astratta questa costante e inserire il metodo nella classe base. Invece, devo creare un metodo astratto, chiamato getErrMsg()
in questo caso, che restituisca la String, sovrascriva questo metodo nelle due classi derivate e quindi posso richiamare il metodo (che ora chiama il metodo astratto).
Perché non potevo semplicemente rendere astratto il campo per cominciare? Java potrebbe essere stato progettato per consentire questo?