Почему классы Java не могут иметь абстрактные поля, как у них могут быть абстрактные методы?
Например: у меня есть два класса, которые расширяют один и тот же абстрактный базовый класс. Каждый из этих двух классов имеет идентичный метод, за исключением константы String, которая является сообщением об ошибке внутри них. Если бы поля могли быть абстрактными, я мог бы сделать эту константу абстрактной и перенести метод в базовый класс. Вместо этого мне нужно создать абстрактный метод, вызываемый getErrMsg()
в этом случае, который возвращает String, переопределить этот метод в двух производных классах, а затем я могу вызвать метод (который теперь вызывает абстрактный метод).
Почему я не мог просто сделать поле абстрактным для начала? Может ли Java быть разработана для этого?