0 added
0 removed
Original
2026-01-01
Modified
2026-02-26
1
<p>Ключевое слово<strong>interface</strong>вместо<em>class</em>.</p>
1
<p>Ключевое слово<strong>interface</strong>вместо<em>class</em>.</p>
2
<p>Интерфейс - это контракт, описывающий возможности и функциональность некой сущности.</p>
2
<p>Интерфейс - это контракт, описывающий возможности и функциональность некой сущности.</p>
3
<p>А класс уже является реализацией этой сущности.</p>
3
<p>А класс уже является реализацией этой сущности.</p>
4
<p>На<a>stackoverflow есть объяснение</a>интерфейсов "на пальцах".</p>
4
<p>На<a>stackoverflow есть объяснение</a>интерфейсов "на пальцах".</p>
5
<p>Архитектор интерфейса определяет имена методов, списки аргументов и типы возвращаемых значений.</p>
5
<p>Архитектор интерфейса определяет имена методов, списки аргументов и типы возвращаемых значений.</p>
6
<p>Методы интерфейса имеют модификатор доступа только public по умолчанию! По этому, ключевое слово public упускается при объявлении метода в интерфейсе. Но вот в его имплементациях слово public должно быть в сигнатуре переопределяемых методов.</p>
6
<p>Методы интерфейса имеют модификатор доступа только public по умолчанию! По этому, ключевое слово public упускается при объявлении метода в интерфейсе. Но вот в его имплементациях слово public должно быть в сигнатуре переопределяемых методов.</p>
7
<p>Интерфейс может содержать поля, но они автоматически являются статическими (<em>static</em>) и неизменными (<em>final</em>). Все методы и переменные неявно объявляются как<em>public</em>.</p>
7
<p>Интерфейс может содержать поля, но они автоматически являются статическими (<em>static</em>) и неизменными (<em>final</em>). Все методы и переменные неявно объявляются как<em>public</em>.</p>
8
<p>Класс, который собирается использовать определенный интерфейс, использует ключевое слово<em>implements</em>. Оно указывает, что класс будет имплементировать интерфейс(ы) названные за ключевым словом<em>implements</em>.</p>
8
<p>Класс, который собирается использовать определенный интерфейс, использует ключевое слово<em>implements</em>. Оно указывает, что класс будет имплементировать интерфейс(ы) названные за ключевым словом<em>implements</em>.</p>
9
<p>Если класс имплементирует интерфейс, но не полностью реализует определенные им методы, он должен быть объявлен как<strong>abstract</strong>.</p>
9
<p>Если класс имплементирует интерфейс, но не полностью реализует определенные им методы, он должен быть объявлен как<strong>abstract</strong>.</p>
10
<p>Интерфейс не имплементирует любые другие интерфейсы. Но интерфейс может наследоваться от многих других интерфейсов (множественное наследование). Чего, кстати, не могут обычные классы.<a>Полезный материал на эту тему.</a>Исчезнувшие примеры из полезного материала:<a>1</a>и<a>2</a>.</p>
10
<p>Интерфейс не имплементирует любые другие интерфейсы. Но интерфейс может наследоваться от многих других интерфейсов (множественное наследование). Чего, кстати, не могут обычные классы.<a>Полезный материал на эту тему.</a>Исчезнувшие примеры из полезного материала:<a>1</a>и<a>2</a>.</p>
11
<p><a>Interface Type</a>- это суперинтерфейс для всех типов в языке программирования Java. Как Object, но только интерфейс. Благодаря чему практически у любого поля или переменной можно вызвать .getClass().getTypeName().</p>
11
<p><a>Interface Type</a>- это суперинтерфейс для всех типов в языке программирования Java. Как Object, но только интерфейс. Благодаря чему практически у любого поля или переменной можно вызвать .getClass().getTypeName().</p>
12
<p>Подумайте: чем имплементация интерфейса(ов) отличается от обычного наследования?</p>
12
<p>Подумайте: чем имплементация интерфейса(ов) отличается от обычного наследования?</p>