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

  Рет қаралды 17,902

Петр Арсентьев

Петр Арсентьев

5 жыл бұрын

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

Пікірлер: 49
@object-22
@object-22 Жыл бұрын
Вопросов нет. Наоборот, нашёл тут ответ на свои вопросы. Спасибо за понятное и простое объяснение.
@iryna6389
@iryna6389 4 жыл бұрын
Спасибо, вот прям в тему!!! Полностью разобран вопрос!!! Спасибо!!!
@alexpanasyuk4696
@alexpanasyuk4696 4 жыл бұрын
Irina Привет.Видел тебя в комментах bobocode) Уже работаешь?
@PRO-pt6ew
@PRO-pt6ew 2 ай бұрын
Только в пятницу задали такой вопрос)
@leonidkorkulenko4838
@leonidkorkulenko4838 5 жыл бұрын
Спасибо большое! Детально, доходчиво и по делу)
@alekseysidorenko1855
@alekseysidorenko1855 5 жыл бұрын
Пётр, спасибо за видео.
@ilya9852
@ilya9852 Жыл бұрын
Имя метода в сочетании с числом параметров и их типами называется его сигнатурой. А сигнатура метода в сочетании с типом возвращаемого значения называется контрактом метода. (4:32)
@user-lv5nq7gs4d
@user-lv5nq7gs4d 2 жыл бұрын
Шикарное объяснение!
@Mifuragon
@Mifuragon 2 жыл бұрын
Вот бы продолжение этой клёвой рубрики
@HowItWorks
@HowItWorks 5 жыл бұрын
Спасибо. На мой взгляд несколько сумбурно, но все ключевые моменты рассказаны.
@tolstikvladimirov5506
@tolstikvladimirov5506 5 жыл бұрын
спасибо. Пётр, было бы полезно, если бы ты объяснил с точки зрения опыта, когда лучше использовать wildcard, а когда параметр типа. если их нужно ограничивать по иерархии.
@MuratFatykhov
@MuratFatykhov 5 ай бұрын
Потому что я бээтмээн 7:59 Спасибо за видео! Шикарно раскидал 🔥
@sazanya854
@sazanya854 5 жыл бұрын
1) Ссылочные и примитивные типы данных. 2) Что происходит при создании объекта (про память, вызов конструкторов в иерархии). 3) Позднее и раннее связывание. Переопределение и перегрузка методов (статических и нестатических). 4) Исключения. Зачем они вообще нужны. Иерархия классов исключений. Проверяемые и непроверяемые исключения.
@ilya9852
@ilya9852 Жыл бұрын
Спасибо, теперь всё понятно
@igorm.9845
@igorm.9845 5 жыл бұрын
Чем отличается компонент от бина?
@adeskmath
@adeskmath 3 жыл бұрын
Спасибо!
@user-io2fn8es3h
@user-io2fn8es3h 4 жыл бұрын
почему Runtime exeption не обрабатываемая, вот прям максимально в глубь зайти
@AlexanderShock3r
@AlexanderShock3r 4 жыл бұрын
Подписался чтобы остальные вопросы на собеседовании посмотреть, а тут в плейлисте только один этот видос
@job4j
@job4j 4 жыл бұрын
Добрый день. Александр. Спасибо, что смотрите. Пока нет времени записывать эти видео. Советую подготовить OOP. Collections. SQL, Thread, Hibernate, Spring. Это основные темы при трудоустройстве.
@user-xn8qk6cg2j
@user-xn8qk6cg2j 14 күн бұрын
Всем привет! Есть вопрос про состояние/поведение!? Я знаю, что абстрактный класс описывает как поведение, так и состояние, в то время как интерфейс определяет только поведение. А почему в видео наоборот, смотрел и в конспекте подправил, а потом пошёл уточнять в ООП
@job4j
@job4j 6 күн бұрын
Все верно вы говорите. Класс описывает поведение и состояние, а интерфейс только поведение. У меня наоборот в видео?
@forlearning2653
@forlearning2653 4 жыл бұрын
Не понимаю что значит слово "состояния" класа. Типа в интерефейсе поле может быть только константой, а в абстрактном класе - поле как в обычном класе. Если взять англ термин, то какой будет?
@job4j
@job4j 4 жыл бұрын
state.
@pluto_nash
@pluto_nash 8 ай бұрын
Это лучшее объяснение на русском языке отличий между интерфейсом и абстрактным классом. Остальные задроты в своих видосах говорили непонятную тарабарщину.
@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 у абстрактного класса есть состояние. Конструктор есть и есть некое состояние. Как я понял это возможно построить объект с значениями конструктора. Так?
@alexandrkomar4741
@alexandrkomar4741 2 жыл бұрын
В абстрактном же классе тоже константы объявлены final...
@georgebagiryan1716
@georgebagiryan1716 4 жыл бұрын
Извиняюсь за возможно тупой вопрос, но мне не дает покоя, зачем было отказываться от множественного наследования, а потом добавлять его в интерфейсы? Какой бы был смысл в интерфейсах, если бы было множественное наследование и можно было бы в абстрактных классах делать все то же, что и в интерфейсах?
@job4j
@job4j 4 жыл бұрын
Интерфейсы не имеют состояний. Если нет данных, то и проблем нет.
@user-xg6bi9pz8n
@user-xg6bi9pz8n Жыл бұрын
Спасибо, жаль что видео только одно с этого сборника
@artonext
@artonext 4 жыл бұрын
Ну я ещё добавлю разницу между Абстрактным Классом и Интерфейсом.... Интерфейс даёт поведение разным объектам которые к примеру умеют летать пример от интерфейса Fly можно имплементить метод fly() и его могу имплементить разные классы типа Птица , Самолёт или Пчела... А абстрактный класс неполноценный класс поэтому у него нету экземпляра и от него наследуются похожие на него класс потому что у них должны быть похожие методы возьмёт к примеру Абстрактный класс Самолёт он же Airplain у самолёта есть части матор колёса и тд...делаем из запчастей методы к примеру motor(); и можно от него наследоваться и будут базовые параметры...И добавлю ещё почему использовать абстрактный класс все абстрактные классы это абстрактные сущности то есть грубо говоря неконкретные но мы может из Самолёта наследоваться своим классом конкретным самолётом к примеру модель которого Ту-204 и всё готово можно дописывать свои конкретные параметры... Всем спасибо удачи (не лайкайте не для этого старался ^_^)
@mshvsh
@mshvsh 4 жыл бұрын
Для чего в методе "инфо" абстрактного класса используется ключевое слово this?
@job4j
@job4j 4 жыл бұрын
На тот момент я считал, что это стилистически важный момент. Сейчас могу сказать, что лучше в коде нигде не писать this. Это шум.
@SB-pk2ss
@SB-pk2ss 4 жыл бұрын
ну такое, ни разу не доходчиво объяснено, с темы на тему постоянные перепрыгивания. Ну и много неточностей в терминологии, по типу что интерфейсы наследуются и тп
@job4j
@job4j 4 жыл бұрын
Спасибо за комментарий. Надеюсь, хоть в чем-то Вам это видео помогло.
@danielgyrtes6370
@danielgyrtes6370 4 жыл бұрын
Все хорошо, но key == кий :)
@namesurname4406
@namesurname4406 2 жыл бұрын
8:25 не понял как абстрактный класс содержит состояние объекта, когда он не может иметь экземпляров.
@ovsyannikovo
@ovsyannikovo 2 жыл бұрын
когда будет создан объект класса, унаследованный от абстрактного класса, то этот объект будет иметь состояние. И часть его состояния может быть в переменных описанных в абстрактном классе.
@Rommel7755
@Rommel7755 4 жыл бұрын
Выводы конечно те ещё) Избавляйтесь от абстрактных классов и наследования, интерфейсы лучше)
@user-yr5xe6op3k
@user-yr5xe6op3k 5 жыл бұрын
super vs this
@Archeryring
@Archeryring 4 жыл бұрын
Super относится к родительскому [наследуемому] классу, а this - к текущему.
@qwertymangames1800
@qwertymangames1800 Жыл бұрын
Неумение использовать наследование там где оно нужно не нужно заменять интерфейсами) это плохой совет
@user-qz7vz8lq4x
@user-qz7vz8lq4x 2 жыл бұрын
а как понять состояние обьекта? в чем она выражается? Обьясните тупому пж
@boobubuo
@boobubuo 3 жыл бұрын
кароче интерфейс это абстрактный класс которому запретили много чего .. а потом начали дореализовывать в новых версиях явы ..разрешая то что запретили )) в будущем полагаю .. все интерфейсы приведут к абстрактным классам и таким образом он самоуничтожится )))
Java Собеседование  Вопрос про Enum
10:01
Петр Арсентьев
Рет қаралды 850
Do you have a friend like this? 🤣#shorts
00:12
dednahype
Рет қаралды 37 МЛН
когда достали одноклассники!
00:49
БРУНО
Рет қаралды 1,3 МЛН
Joven bailarín noquea a ladrón de un golpe #nmas #shorts
00:17
C# - Абстрактный класс vs Интерфейс
3:51
Абстрактный класс в ООП
10:28
Volodya Mozhenkov
Рет қаралды 40 М.
Java SE. Урок 23. Абстрактные классы и методы
6:47
Follow the white rabbit
Рет қаралды 26 М.
Как работает Java - ликбез
8:51
Хороший программист
Рет қаралды 66 М.
Интерфейсы на практике
7:34
ExtremeCode
Рет қаралды 176 М.
Do you have a friend like this? 🤣#shorts
00:12
dednahype
Рет қаралды 37 МЛН