Тёмный

Java Абстрактный класс VS Интерфейс 

Петр Арсентьев
Подписаться 20 тыс.
Просмотров 18 тыс.
50% 1

Java Абстрактный класс VS Интерфейс
www.job4j.ru - Курсы Java разработки c трудоустройством.

Опубликовано:

 

19 фев 2019

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 50   
@object-22
@object-22 Год назад
Вопросов нет. Наоборот, нашёл тут ответ на свои вопросы. Спасибо за понятное и простое объяснение.
@leonidkorkulenko4838
@leonidkorkulenko4838 5 лет назад
Спасибо большое! Детально, доходчиво и по делу)
@alekseysidorenko1855
@alekseysidorenko1855 5 лет назад
Пётр, спасибо за видео.
@iryna6389
@iryna6389 4 года назад
Спасибо, вот прям в тему!!! Полностью разобран вопрос!!! Спасибо!!!
@alexpanasyuk4696
@alexpanasyuk4696 4 года назад
Irina Привет.Видел тебя в комментах bobocode) Уже работаешь?
@user-lv5nq7gs4d
@user-lv5nq7gs4d 3 года назад
Шикарное объяснение!
@PRO-pt6ew
@PRO-pt6ew 3 месяца назад
Только в пятницу задали такой вопрос)
@HowItWorks
@HowItWorks 5 лет назад
Спасибо. На мой взгляд несколько сумбурно, но все ключевые моменты рассказаны.
@Mifuragon
@Mifuragon 2 года назад
Вот бы продолжение этой клёвой рубрики
@ilya9852
@ilya9852 Год назад
Спасибо, теперь всё понятно
@MuratFatykhov
@MuratFatykhov 6 месяцев назад
Потому что я бээтмээн 7:59 Спасибо за видео! Шикарно раскидал 🔥
@tolstikvladimirov5506
@tolstikvladimirov5506 5 лет назад
спасибо. Пётр, было бы полезно, если бы ты объяснил с точки зрения опыта, когда лучше использовать wildcard, а когда параметр типа. если их нужно ограничивать по иерархии.
@ilya9852
@ilya9852 Год назад
Имя метода в сочетании с числом параметров и их типами называется его сигнатурой. А сигнатура метода в сочетании с типом возвращаемого значения называется контрактом метода. (4:32)
@adeskmath
@adeskmath 3 года назад
Спасибо!
@sazanya854
@sazanya854 5 лет назад
1) Ссылочные и примитивные типы данных. 2) Что происходит при создании объекта (про память, вызов конструкторов в иерархии). 3) Позднее и раннее связывание. Переопределение и перегрузка методов (статических и нестатических). 4) Исключения. Зачем они вообще нужны. Иерархия классов исключений. Проверяемые и непроверяемые исключения.
@job4j
@job4j 5 лет назад
Java Абстрактный класс VS Интерфейс www.job4j.ru - Курсы Java разработки c трудоустройством.
@mukcep5414
@mukcep5414 5 лет назад
Состояние - это ведь конструктор?) к чему такая путаница.. Петр, если интересно подкину тему к видео. На ютубе полно видео про интерфейс, но все описывается так что есть вот интерфейс и класс его реализующий должен реализовать его методы. И народ на самом деле начинает думать что интерфейс создан для того, чтобы класс его реализующий реализовал его методы. Вот и вся его надобность, чтобы мол ничего не забыть. lol
@user-varmat
@user-varmat 5 лет назад
@@mukcep5414 Конструктор описывает состояние, но не является им. Состояние - значение полей, которое объект принимает.
@mukcep5414
@mukcep5414 5 лет назад
Ой, а я всегда думал, что при создании объекта я вызывал конструктор и прописывал там его значения а оказывается вот оно чего.. ну ок. Тогда эмм«метод с конструктором» мы можем написать интерфейсе получается? Или что мы можем получить объект в абстрактного класса с его этим как его состоянием?
@user-varmat
@user-varmat 5 лет назад
@@mukcep5414 хорошо, если ты передал в конструктор параметры new Human(23, "Mark",) ты разве не описываешь то с какими значениями полей он будет создан. К твоему вопросу и моему ответу выше. Думаю правильнее было бы сказать что конструктор это возможность задать или описать, то как объект будет создан и какое состояние объекта будет, после его создания. И еще состояние мы можем и с помощью сеттеров поменять.
@mukcep5414
@mukcep5414 5 лет назад
4:07 у абстрактного класса есть состояние. Конструктор есть и есть некое состояние. Как я понял это возможно построить объект с значениями конструктора. Так?
@AlexanderShock3r
@AlexanderShock3r 4 года назад
Подписался чтобы остальные вопросы на собеседовании посмотреть, а тут в плейлисте только один этот видос
@job4j
@job4j 4 года назад
Добрый день. Александр. Спасибо, что смотрите. Пока нет времени записывать эти видео. Советую подготовить OOP. Collections. SQL, Thread, Hibernate, Spring. Это основные темы при трудоустройстве.
@igorm.9845
@igorm.9845 5 лет назад
Чем отличается компонент от бина?
@user-io2fn8es3h
@user-io2fn8es3h 5 лет назад
почему Runtime exeption не обрабатываемая, вот прям максимально в глубь зайти
@forlearning2653
@forlearning2653 4 года назад
Не понимаю что значит слово "состояния" класа. Типа в интерефейсе поле может быть только константой, а в абстрактном класе - поле как в обычном класе. Если взять англ термин, то какой будет?
@job4j
@job4j 4 года назад
state.
@georgebagiryan1716
@georgebagiryan1716 4 года назад
Извиняюсь за возможно тупой вопрос, но мне не дает покоя, зачем было отказываться от множественного наследования, а потом добавлять его в интерфейсы? Какой бы был смысл в интерфейсах, если бы было множественное наследование и можно было бы в абстрактных классах делать все то же, что и в интерфейсах?
@job4j
@job4j 4 года назад
Интерфейсы не имеют состояний. Если нет данных, то и проблем нет.
@alexandrkomar4741
@alexandrkomar4741 3 года назад
В абстрактном же классе тоже константы объявлены final...
@user-xg6bi9pz8n
@user-xg6bi9pz8n Год назад
Спасибо, жаль что видео только одно с этого сборника
@user-xn8qk6cg2j
@user-xn8qk6cg2j Месяц назад
Всем привет! Есть вопрос про состояние/поведение!? Я знаю, что абстрактный класс описывает как поведение, так и состояние, в то время как интерфейс определяет только поведение. А почему в видео наоборот, смотрел и в конспекте подправил, а потом пошёл уточнять в ООП
@job4j
@job4j Месяц назад
Все верно вы говорите. Класс описывает поведение и состояние, а интерфейс только поведение. У меня наоборот в видео?
@user-xn8qk6cg2j
@user-xn8qk6cg2j 25 дней назад
@@job4j Да, посмотрите своё видео!
@pluto_nash
@pluto_nash 9 месяцев назад
Это лучшее объяснение на русском языке отличий между интерфейсом и абстрактным классом. Остальные задроты в своих видосах говорили непонятную тарабарщину.
@mshvsh
@mshvsh 4 года назад
Для чего в методе "инфо" абстрактного класса используется ключевое слово this?
@job4j
@job4j 4 года назад
На тот момент я считал, что это стилистически важный момент. Сейчас могу сказать, что лучше в коде нигде не писать this. Это шум.
@SB-pk2ss
@SB-pk2ss 4 года назад
ну такое, ни разу не доходчиво объяснено, с темы на тему постоянные перепрыгивания. Ну и много неточностей в терминологии, по типу что интерфейсы наследуются и тп
@job4j
@job4j 4 года назад
Спасибо за комментарий. Надеюсь, хоть в чем-то Вам это видео помогло.
@user-yr5xe6op3k
@user-yr5xe6op3k 5 лет назад
super vs this
@Archeryring
@Archeryring 4 года назад
Super относится к родительскому [наследуемому] классу, а this - к текущему.
@artonext
@artonext 4 года назад
Ну я ещё добавлю разницу между Абстрактным Классом и Интерфейсом.... Интерфейс даёт поведение разным объектам которые к примеру умеют летать пример от интерфейса Fly можно имплементить метод fly() и его могу имплементить разные классы типа Птица , Самолёт или Пчела... А абстрактный класс неполноценный класс поэтому у него нету экземпляра и от него наследуются похожие на него класс потому что у них должны быть похожие методы возьмёт к примеру Абстрактный класс Самолёт он же Airplain у самолёта есть части матор колёса и тд...делаем из запчастей методы к примеру motor(); и можно от него наследоваться и будут базовые параметры...И добавлю ещё почему использовать абстрактный класс все абстрактные классы это абстрактные сущности то есть грубо говоря неконкретные но мы может из Самолёта наследоваться своим классом конкретным самолётом к примеру модель которого Ту-204 и всё готово можно дописывать свои конкретные параметры... Всем спасибо удачи (не лайкайте не для этого старался ^_^)
@danielgyrtes6370
@danielgyrtes6370 4 года назад
Все хорошо, но key == кий :)
@Rommel7755
@Rommel7755 4 года назад
Выводы конечно те ещё) Избавляйтесь от абстрактных классов и наследования, интерфейсы лучше)
@namesurname4406
@namesurname4406 2 года назад
8:25 не понял как абстрактный класс содержит состояние объекта, когда он не может иметь экземпляров.
@ovsyannikovo
@ovsyannikovo 2 года назад
когда будет создан объект класса, унаследованный от абстрактного класса, то этот объект будет иметь состояние. И часть его состояния может быть в переменных описанных в абстрактном классе.
@qwertymangames1800
@qwertymangames1800 Год назад
Неумение использовать наследование там где оно нужно не нужно заменять интерфейсами) это плохой совет
@user-qz7vz8lq4x
@user-qz7vz8lq4x 2 года назад
а как понять состояние обьекта? в чем она выражается? Обьясните тупому пж
@boobubuo
@boobubuo 3 года назад
кароче интерфейс это абстрактный класс которому запретили много чего .. а потом начали дореализовывать в новых версиях явы ..разрешая то что запретили )) в будущем полагаю .. все интерфейсы приведут к абстрактным классам и таким образом он самоуничтожится )))
Далее
Едим ЕДУ на ЗАПРАВКАХ 24 Часа !
28:51
skibidi toilet zombie universe 33 ( New Virus)
02:59
Просмотров 2,2 млн
Абстрактный класс в ООП
10:28
Просмотров 40 тыс.
Как работает Java - ликбез
8:51
Просмотров 67 тыс.
Едим ЕДУ на ЗАПРАВКАХ 24 Часа !
28:51