[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-java-8-kak-vyzyvat-default-metod-interfeysa-v-realizuyushchem-etot-interfeys-klasse":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":16,"progress":17,"seo":18},357,"kak-vyzyvat-default-metod-interfeysa-v-realizuyushchem-etot-interfeys-klasse",10,"java-8","Java 8+","☕","Как вызывать default метод интерфейса в реализующем этот интерфейс классе?","Для вызова `default`-метода интерфейса из класса-реализации используется синтаксис `ИмяИнтерфейса.super.имяМетода()`. Это особенно полезно при конфликте `default`-методов из нескольких интерфейсов, когда нужно явно указать, какую реализацию использовать.\n\n```java\ninterface Paper {\n    default void show() {\n        System.out.println(\"default show()\");\n    }\n}\n\nclass Licence implements Paper {\n    public void show() {\n        Paper.super.show(); \u002F\u002F вызов default-метода из Paper\n    }\n}\n```\n\nЭтот синтаксис также используется, когда класс хочет расширить поведение `default`-метода, добавив к нему собственную логику до или после вызова оригинальной реализации. Без указания имени интерфейса перед `super` компилятор не сможет определить, какой именно `default`-метод вызывать при множественной реализации интерфейсов.\n\n> **На собеседовании:** важно запомнить точный синтаксис `Interface.super.method()` — именно имя интерфейса, а не класса, стоит перед `super`.","","junior",[15],"java8",[],null,{"title":19,"description":20,"ogTitle":19,"ogDescription":21,"keywords":22,"schemaAnswer":23,"featuredSnippetReady":24},"Как вызывать default метод интерфейса в реализующем этот инт — Gymterview","Для вызова `default`-метода интерфейса из класса-реализации используется синтаксис `ИмяИнтерфейса.super.имяМетода()`. Это особенно полезно при конфликте `defaul","Для вызова `default`-метода интерфейса из класса-реализации используется синтаксис `ИмяИнтерфейса.super.имяМетода()`. Эт",[15,13],"Для вызова `default`-метода интерфейса из класса-реализации используется синтаксис `ИмяИнтерфейса.super.имяМетода()`. Это особенно полезно при конфликте `default`-методов из нескольких интерфейсов, когда нужно явно указать, какую реализацию использовать.",true]