42 1 Полиморфизм в Java

  Рет қаралды 963

Software Architect Alex Korolev

Software Architect Alex Korolev

2 жыл бұрын

Меня много раз просили выложить курс по основам Java. Я понимаю что таких курсов уже много, но некоторые говорят что им понятней когда объясняю именно я.
Данный курс основан на книге OCA: Oracle Certified Associate Java SE 8 Programmer I Study Guide: Exam 1Z04-808 - www.selikoff.net/java-oca-8-p... - этот экзамен по прежнему можно сдавать. Он проще чем новый по 11ой Java где объединили и OCA и OCP, но дольше - он длится 150 минут против 90 минут на новом экзамене. И в этом случае вам нужно будет сдавать два экзамена - OCA и OCP отдельно. При том что новый один стоит столько же.
Но учиться в любом случае нужно постепенно и для начала быть уверенным в том что вы знаете все темы из старого OCA.
Я очень рекомендую учиться именно по книге, а видео из плейлиста использовать только как дополнительный материал. В книге есть хорошие задачи после каждой темы, которые необходимо решать. Так же в конце книги дают доп рекомендации по экзаменам и промокод на несколько тестовых экзаменов.
Так же если вы хотите сдавать экзамен - рекомендую для начала пройти экзамены на эмуляторе.
Эмулятор по OCA - enthuware.com/java-certificat...
Эмулятор по новому экзамену Java 11 - enthuware.com/java-certificat...

Пікірлер: 11
@anjelomanoranjan3908
@anjelomanoranjan3908 5 ай бұрын
Жду новых видео по Java
@user-ju8hk2gs3b
@user-ju8hk2gs3b 6 ай бұрын
я шокирован
@alexned7905
@alexned7905 2 жыл бұрын
Спасибо!
@killahillbeatz4644
@killahillbeatz4644 2 жыл бұрын
Мне что-то не понятно. Написал примерно такой же пример, как у вас. Создал Lemur lemur = new Lemur() и Primate primate = lemur. Затем попытался у primate вызвать метод лемура. Idea мне подсказала, что нужно сделать каст. Сделал каст ((Lemur) primate).метод() и все работает. Тогда почему в видео говорится, что primate имеет доступ только полям и методам, определенных в классе Primate? Получается с помощью каста можно решить эту проблему? Просто пытаюсь понять полиморфизм, и что-то пока туговато идет)
@Alellas
@Alellas 2 жыл бұрын
Если я правильно вас понял, то вы сделали каст к Лемуру и вызываете как у Лемура. При этом еслиб сам объект в памяти вы создали до этого Примат, то после такого запуска упали бы на класскаст эксепшен. Если я не так понял вопрос - скиньте пожалуйста код.
@killahillbeatz4644
@killahillbeatz4644 2 жыл бұрын
@@Alellas public class Primate { public boolean isPrimate() { return true; } } public class Lemur extends Primate{ String name = "Lemur"; } public class Test { public static void main(String[] args) { Lemur lemur = new Lemur(); Primate primate = lemur; System.out.println(((Lemur) primate).name); } } Непонятен именно тот момент, что в видео говорится, что если мы ссылочной переменной типа Примат присваиваем объект Лемура, то Примату доступны только те поля и методы, которые есть непосредственно в Примате, ведь он не знает о том, какие поля и методы есть в его потомке, что логично. Но в коде у меня получилось вызвать у Примата поле Лемура. Вот это непонятно)
@Alellas
@Alellas 2 жыл бұрын
@@killahillbeatz4644 в System.out вы вначале прикастили Примата к Лемуру а потом уже Лемура вызываете name. Вы сами руками прогрейдили его до Лемура. попробуйте заменить строку Lemur lemur = new Lemur на Primate lemur = new Primate() и увидете что у вас упадет класскастэксепшен потому что вы утверждаете что в System.out вы вновь попробуете вызвать Лемура но у вас будет в памяти Примат.
@Alellas
@Alellas 2 жыл бұрын
Только запустить после этих изменений не забудьте. Компилятор не будет ругаться на кастинг - код в рантайме отваливается.
@killahillbeatz4644
@killahillbeatz4644 2 жыл бұрын
@@Alellas теперь вроде бы понял. Спасибо вам огромное, смотрю ваши видео взахлеб :)
@yarik83men51
@yarik83men51 2 жыл бұрын
++++++
42 2 Объект и Ссылка в Java
3:43
Software Architect Alex Korolev
Рет қаралды 451
44 2 Блок finally в Java
9:05
Software Architect Alex Korolev
Рет қаралды 583
Chips evolution !! 😔😔
00:23
Tibo InShape
Рет қаралды 30 МЛН
Kitten has a slime in her diaper?! 🙀 #cat #kitten #cute
00:28
小路飞姐姐居然让路飞小路飞都消失了#海贼王  #路飞
00:47
路飞与唐舞桐
Рет қаралды 90 МЛН
КАХА и Джин 2
00:36
К-Media
Рет қаралды 2,2 МЛН
Подготовка к Java собеседованию #6 Stream API
32:06
43 2 Checked и Unchecked Исключения в Java
5:56
Software Architect Alex Korolev
Рет қаралды 957
Неодим- стеклянный металл для магнита.
12:22
43 1 Исключения в Java
7:39
Software Architect Alex Korolev
Рет қаралды 731
Java умирает? / Java устарел и нужно учить другой язык?
10:21
Chips evolution !! 😔😔
00:23
Tibo InShape
Рет қаралды 30 МЛН