Java SE. Урок 24. Интерфейсы

preview_player
Показать описание
Интерфейсы напоминают чем-то обычные классы, наиболее близки к абстрактным классам, но имеют некоторые отличия и не являются классами.

Все объявленные в интерфейсе методы автоматически трактуются как public abstract, а все поля - public static final, даже если они так не объявлены.

Класс может реализовывать любое число интерфейсов, указанных после ключевого слова implements. После этого, данный класс обязан реализовать все методы полученные от интерфейсов, либо объявить себя абстрактным.

Между интерфейсами допустимо множественное наследование, которое выполняется с помощью ключевого слово extends.

Существует негласное правило - добавлять к имени интерфейса I (Car - ICar).
Рекомендации по теме
Комментарии
Автор

Тоже такая возможность в работе с интерфейсами удивила.

rxwbepo
Автор

Спасибо за полезный урок! Понятно объясняешь, и примеры хорошие

GriazniyGari
Автор

Написано про интерфейсы а в итоге получаем половину урока наследования

dxhflvr
Автор

0_0 если честно.... тут мягко сказать не понятно... больше запутался... для общего понятия наверное да, но оно такое тонкое :( пошел читать еще.... Спасибо.

DankoBLR
Автор

Больше видео с разными примерами по одному уроку ! пусть где-то повторяются но разные примеры позволят информации уложиться правильно до точки Инсайта (озарение) Спасибо за уроки! Вы молодец! Хочу больше примеров домашних заданий и ответов в видео. Понимаю что это скучно но может отдельный плейлист чтоб в одну кучу не долбить и там по названию урока вариации примеров к урокам 24.1 24.2 + ДЗ тогда желающие могут перейти в плейлист и домучить тему посмотрев вариации на тему урока.
Когда будут сниматься другие видео, будут подбираться другие слова для объяснения и возможно проскочит то объяснение, которое найдет своего слушателя. Еще раз спасибо!
P.S. Если не сложно дайте ссылку по программам настройке программы для снятия видео уроков в таком хорошем качестве - спасибо

bednieporosyatki
Автор

тяжеловато но спасибо )) но пересмотрев второй раз, понял намного лучше

immortal-spirit-
Автор

Здесь Чуев Александр общался сам с собой.

Canystra
Автор

13:30 Наверно, имелось в виду, есть сходство между абстрактным классом и его подклассом (реализующем), а не интерфейсом - как было сказано (?).

voothi-it
Автор

Меня обрадовала возможность юзать несколько интерфейсов, а не 1 :3

thepudge
Автор

Александр, у меня возник ещё вопрос )))) Зачем вообще нужен этот интерфейс? я переучиваюсь с процедурного стиля программирования, и для меня пока сложно понять видимо, что для больших проектов это нужно. Суть моего непонимания в том, что в интерфейсе нет никакого описания логики, в нём храняться сигнатуры методов, но эти методы мы переопределяем в нужных нам классах, то есть в каждом классе - имплементирующем интерфейс по идее может быть разная реализация этого метода.
Попробую сам ответить на свой вопрос, а вы пожалуйста меня поправьте: Суть в том, что мы перед большим проектом строим диаграммы взаимоотношений между классами, определяя общую логику программы так, чтобы любой программист взглянувший на эту диаграмму, выраженную затем в интерфейсах, а затем и на код программы, смог легче сорентироваться в том, что здесь вообще имелось ввиду ? то бишь увидеть "глубину" и "ширину" взаимодействий и логических взаимосвязей между классами.

kolob
Автор

Вопрос только один. Почему в классе тест в параметрах указали FlyingObject flyingObject? У класса FlyingObject ведь нет экземпляров?

rinch_jacobson
Автор

Если правильно понял, интерфейс это как енум, но хранит не объекты, а поля и методы. Если не прав, поправьте.

podpalmoi
Автор

Александр, то есть интерфейс это некий "модуль" поведения, который можно "подключить" к классу и тем самым расширить его функционал? Не понял только для чего поля в интерфейсах, и почему они являются константами.

raccoon
Автор

Получается что interface и abstract class одно и тоже?если нельзя создать объект

alexanderfrolov
Автор

Чтобы расставить все точки над и. пояните, если ли разница в таких вот записях?
1. Weapon ak2 = new AK47();
2. Weapon ak2 = new Weapon();

если я правильно понял, в обоих случаях ссылка ak2 - будет иметь только доступ к данным и методам класса Weapon. Но есть ли ещё какие то подводные камни? если нет, то это просто головомойка какая то

kolob
Автор

Починить - недешево. Но можно. В пределах 600 долларов ремонт и прослужит еще 30 лет.

Master
Автор

А можно еще больше классов создать? Это вертолет, а это самолет, а это муха пролетела, а на обед я ел овсянку, сижу я в розовых очках. Тарабарщина какая-то....**** не понятно

spuvnfj
Автор

много лишних классов, но полагаю это для урока.

td
Автор

Видео можно понять, но оно так запутано. Слишком много бесполезных классов создал, хотя можно было на примере 2 классов и одного интерфейса все показать (((

jafar_u