Урок Java 383: Best practice 19: Чем Enum лучше констант
Java 738. Почему нельзя объявить метод интерфейса с модификатором final или static.
В Java нельзя объявить метод в интерфейсе с модификатором final или static, потому что все методы в интерфейсе считаются неявно абстрактными и public, и поэтому они не могут быть статическими или final, так как это нарушает их природу абстракции. Static методы могут быть только в статических классах, а final методы можно объявить только в классах и не имеет смысла в интерфейсе, где не реализуются методы. Вместо этого вы можете объявить константы в интерфейсе с модификаторами static и final: public...
Java 392. Можем ли мы изменить значение поля интерфейса? Если нет, то почему?
В Java поля интерфейса являются константами, их значения не могут быть изменены после компиляции. Если вы попытаетесь изменить значение поля интерфейса в коде, это вызовет ошибку компиляции. Например, если у нас есть следующий интерфейс: public interface MyInterface {
int MY_CONSTANT = 42;
} Здесь мы объявляем поле MY_CONSTANT как константу в интерфейсе MyInterface. Это означает, что значение этой переменной не может быть изменено после компиляции. Если мы попытаемся изменить значение MY_CONSTANT...