213 читали · 2 года назад
Java 737. Какие модификаторы по умолчанию имеют поля и методы интерфейсов?
Поля и методы интерфейсов в Java по умолчанию имеют модификаторы public и abstract, соответственно. Если в интерфейсе определяется метод, но не указывается модификатор доступа, то он автоматически считается public и abstract. Интерфейс может содержать поля, но они автоматически являются статическими (static) и неизменными (final). Все методы и переменные неявно объявляются как public. Начиная с Java 8, интерфейсы могут также иметь методы по умолчанию (default methods), которые имеют реализации по умолчанию и могут быть переопределены в классах, реализующих интерфейс...
2 года назад
Java 738. Почему нельзя объявить метод интерфейса с модификатором final или static.
В Java нельзя объявить метод в интерфейсе с модификатором final или static, потому что все методы в интерфейсе считаются неявно абстрактными и public, и поэтому они не могут быть статическими или final, так как это нарушает их природу абстракции. Static методы могут быть только в статических классах, а final методы можно объявить только в классах и не имеет смысла в интерфейсе, где не реализуются методы. Вместо этого вы можете объявить константы в интерфейсе с модификаторами static и final: public...