HTML Diff
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>