[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-java-core-dayte-opredelenie-ponyatiyu-interfeys-kakie-modifikatory-po-umolchaniyu-imeyut-polya-i-metody-interfeysov":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":19,"progress":20,"seo":21},22,"dayte-opredelenie-ponyatiyu-interfeys-kakie-modifikatory-po-umolchaniyu-imeyut-polya-i-metody-interfeysov",2,"java-core","Java Core","☕","Дайте определение понятию интерфейс. Какие модификаторы по умолчанию имеют поля и методы интерфейсов?","**Интерфейс** (*interface*) — ссылочный тип в Java, определяющий контракт (набор методов), который должны реализовать классы. Основное предназначение интерфейса — определять, каким образом можно использовать класс, который его реализует.\n\n### Методы интерфейса\n\nСоздатель интерфейса определяет имена методов, списки аргументов и типы возвращаемых значений. Все абстрактные методы интерфейса неявно объявляются как `public abstract`.\n\nНачиная с Java 8 в интерфейсах разрешается размещать:\n+ **`default`-методы** — методы с реализацией по умолчанию;\n+ **`static`-методы** — статические методы с реализацией.\n\nНачиная с Java 9 в интерфейсах также допускаются:\n+ **`private`-методы** — приватные методы для переиспользования логики внутри `default` и `static` методов, без раскрытия их в публичном API.\n\n### Поля интерфейса\n\nИнтерфейс может содержать поля. В этом случае они автоматически являются `public static final`.\n\n### Sealed-интерфейсы (Java 17+)\n\nНачиная с Java 17, интерфейсы могут быть объявлены как **`sealed`** (*запечатанные*), что позволяет ограничить список классов и интерфейсов, которые могут их реализовывать или расширять, с помощью ключевого слова `permits`:\n\n```java\npublic sealed interface Shape permits Circle, Rectangle, Triangle {}\n```","","junior",[15,16,17,18],"core","модификаторы","абстракция","interface",[],null,{"title":22,"description":23,"ogTitle":24,"ogDescription":25,"keywords":26,"schemaAnswer":31,"featuredSnippetReady":32},"Интерфейс в Java — определение, модификаторы полей и методов — Gymterview","Интерфейс определяет контракт: методы public abstract, поля public static final. С Java 8 — default и static методы, с Java 9 — private.","Интерфейсы в Java — что это и какие модификаторы","Методы интерфейса — public abstract по умолчанию. Поля — public static final. С Java 8+ — default\u002Fstatic, с Java 9+ — private методы.",[27,28,29,30],"интерфейс Java","interface Java определение","default методы интерфейса","модификаторы интерфейса","Интерфейс определяет контракт — набор методов, которые класс обязуется реализовать. Методы неявно public abstract, поля — public static final. С Java 8 разрешены default и static методы, с Java 9 — private методы.",true]