diff --git a/core.md b/core.md index e17a9ae..7c96943 100644 --- a/core.md +++ b/core.md @@ -221,6 +221,11 @@ public static void main(String[] args) {} ## Дайте определение понятию _«интерфейс»_. Какие модификаторы по умолчанию имеют поля и методы интерфейсов? Ключевое слово `interface` используется для создания полностью абстрактных классов. Основное предназначение интерфейса - определять каким образом мы можем использовать класс, который его реализует. Создатель интерфейса определяет имена методов, списки аргументов и типы возвращаемых значений, но не реализует их поведение. Все методы неявно объявляются как `public`. +Интерфейс - это абстрактный тип данных, который определяет абстрактные методы, которые должны быть реализованы классами, которые реализуют интерфейс. +В интерфейсах можно определять только абстрактные методы (методы без тела) и статические константы (константы, которые не могут быть изменены). +Классы могут реализовывать несколько интерфейсов одновременно, что обеспечивает множественное наследование интерфейсов. +Интерфейсы полезны, когда требуется, чтобы разные классы имели схожее поведение без необходимости обязательного использования общего базового класса. + Начиная с Java 8 в интерфейсах разрешается размещать реализацию методов по умолчанию `default` и статических `static` методов. Интерфейс также может содержать и поля. В этом случае они автоматически являются публичными `public`, статическими `static` и неизменяемыми `final`. diff --git a/jcf.md b/jcf.md index 302b137..84471a4 100644 --- a/jcf.md +++ b/jcf.md @@ -90,7 +90,7 @@ + [Сделайте `HashMap` из `HashSet>`.](#Сделайте-hashmap-из-hashsetmapentryk-v) ## Что такое _«коллекция»_? -_«Коллекция»_ - это структура данных, набор каких-либо объектов. Данными (объектами в наборе) могут быть числа, строки, объекты пользовательских классов и т.п. +Java collections framework — это набор связанных классов и интерфейсов, реализующих широко используемые структуры данных — коллекции. [к оглавлению](#java-collections-framework) diff --git a/jvm.md b/jvm.md index 3b094ba..cef60c3 100644 --- a/jvm.md +++ b/jvm.md @@ -7,6 +7,7 @@ + [Полезные ссылки](jvm.md#Полезные-ссылки) ## За что отвечает _JVM_: +https://coderlessons.com/articles/java/arkhitektura-jvm-zagruzchik-klassov-jvm-i-oblasti-dannykh-vremeni-vypolneniia + Загрузка, проверка и исполнение байт кода; + Предоставление среды выполнения для выполнения байт-кода;