Зарегистрируйтесь для доступа к 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().

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


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

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

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

Ошибки, сложный материал, вопросы >
Нашли опечатку или неточность?

Выделите текст, нажмите ctrl + enter и отправьте его нам. В течение нескольких дней мы исправим ошибку или улучшим формулировку.

Что-то не получается или материал кажется сложным?

Загляните в раздел «Обсуждение»:

  • задайте вопрос. Вы быстрее справитесь с трудностями и прокачаете навык постановки правильных вопросов, что пригодится и в учёбе, и в работе программистом;
  • расскажите о своих впечатлениях. Если курс слишком сложный, подробный отзыв поможет нам сделать его лучше;
  • изучите вопросы других учеников и ответы на них. Это база знаний, которой можно и нужно пользоваться.
Об обучении на Хекслете

Для полного доступа к курсу нужен базовый план

Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.

Получить доступ
900
упражнений
2000+
часов теории
3200
тестов

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

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

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

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

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

Есть вопрос или хотите участвовать в обсуждении?

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

Отправляя форму, вы соглашаетесь c «Политикой конфиденциальности» и «Условиями оказания услуг»