Зарегистрируйтесь для доступа к 15+ бесплатным курсам по программированию с тренажером

Модуль 7. Урок 1. Интерфейсы в Java. Введение в Java

Видео может быть заблокировано из-за расширений браузера. В статье вы найдете решение этой проблемы.

Ключевое слово interface вместо class.

Интерфейс — это контракт, описывающий возможности и функционал некой сущности.

А класс уже является реализацией этой сущности.

На stackoverflow есть объяснение интерфейсов "на пальцах".

Архитектор интерфейса определяет имена методов, списки аргументов и типы возвращаемых значений.

Методы интерфейса имеют модификатор доступа только public по умолчанию! По этому, ключевое слово public упускается при объявлении метода в интерфейсе. Но вот в его имплементациях слово public должно быть в сигнатуре переопределяемых методов.

Интерфейс может содержать поля, но они автоматически являются статическими (static) и неизменными (final). Все методы и переменные неявно объявляются как public.

Класс, который собирается использовать определённый интерфейс, использует ключевое слово implements. Оно указывает, что класс будет имплементировать интерфейс(ы) названные за ключевым словом implements.

Если класс имплементирует интерфейс, но не полностью реализует определённые им методы, он должен быть объявлен как abstract.

Интерфейс не имплементирует любые другие интерфейсы. Но интерфейс может наследоваться от многих других интерфейсов (множественное наследование). Чего, кстати, не могут обычные классы. Полезный материал на эту тему. Исчезнувшие примеры из полезного материала: 1 и 2.

Interface Type - это суперинтерфейс для всех типов в языке программирования Java. Как Object, но только интерфейс. Благодаря чему практически у любого поля или переменной можно вызвать .getClass().getTypeName().

Подумайте: чем имплементация интерфейса(ов) отличается от обычного наследования?


Аватары экспертов Хекслета

Остались вопросы? Задайте их в разделе «Обсуждение»

Вам ответят команда поддержки Хекслета или другие студенты.

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно.

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов
Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и соглашаетесь с «Условиями использования»

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Aviasales
Логотип компании Yandex
Логотип компании Tinkoff

Используйте Хекслет по-максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и соглашаетесь с «Условиями использования»