Ага! Так вот откуда был первый курс :) За продвинутую Java Еще раз спасибо, все очень подробно и доходчиво . Курс советую всем кто хочет изучить Java. Теперь бы еще курс по практике Java.
private static void test(List list){ /*(List list) - то что подаем в параметр, это получается отдельная новая переменная? for (Animal animal: list){ /*И здесь Animal animal: list - animal это тоже новая переменная? System.out.println(animal); }
Ну да, это всё локальные переменные. Переменная list, которая параметризует класс Animal, ограничена телом метода test(), а ссылочная переменная animal типа Animal является итерационной переменной, которая обслуживает расширенный цикл for() и используется исключительно в нём.
@@Lexoid65 но что собой означает переменная list, когда задачи цикла for - вывести все значения listOfAllAnimals? По логике ведь должно быть for (Animal animal : listOfAllAnimals). Если в цикл each мы ставим переменную list - for (Animal animal : list), то как Java понимает, что нужно вывести все значения listOfAllAnimals?
@@bglets1930 Думаю, что java понимает с чем работать по параметру, указанному в скобках при вызове метода test: test(listOfAnimal); здесь указан listOfAnimal test(listOfDogs); а здесь listOfDogs
Так, пожалуй тут я тормозну и подожду курс по практическим занятиям. Теории накопилось много, и без грамотной практики уже начинается каша в голове. Самому себе придумывать занятия не очень интересно и продуктивно. А вообще, как всегда, респект за курс. Подача материала простая и доходчивая.
Всем привет. Начал изучать Java оочень недавно. Прям катастрофически недавно. Вооружился книгой и этими вот видео от Алишева. Вроде и понимаю и не понимаю. Охота еще и живого общения с теми, кто в теме. Может где-то собираются начинающие джаверы, пьют кофе и разбирают вместе непонятные моменты. Я из Питера. Буду рад знакомству с такими вот людьми. PS Спасибо автору за годный контент
Привет! Может кто-то подсказать, почему когда я в массив добавляю объект Dog ListOfAnimal.add(new Dog(5)) при выводе на экран показывается 0 (для Dog сделала конструктор по аналогии с Animal). Спасибо.
подскажите пожалуйста, почему у нас вызывается toString в методе test? метод for each и toString я по отдельности понял, не почему вызывается toString?
@@АлексейСытник-э9т где именно он вызывается я и хочу понять, но для того, чтобы он не выдал хэшкод, а выдал id мы переопределяем его в классе Animal.
Еще один момент не понял. Когда мы добавляем в лист обьекты. К пртмеру в коде написано дважды listOfDogs.add(new Dog()) ; listOfDogs.add(new Dog()) ; Этим самым у нас в листе создаются два обьекта класса дог, так? Но разве так можно? Как можно создать два экземпляра класса и не присвоить им никаких имен?
Привет! Подскажи пожалуйста. Если взять цикл for each. for(Animal animal : list) В данном примере у нас первое слово "Animal" - обозначает тип данных хранящихся внутри листа, верно? Последнее слово "list" определяет обьект который мы передаем в цикл, верно? А что обозначает центральное слово animal? Почему оно с маленькой буквы? У нас это слово с маленькой буквы вообще нигде не применялось в коде. И экземпляра класса Animal по имини animal тоже не создавалось. Так на что указывает центральное слово и зачем оно? Надеюсь понятно изьяснился)
Эксперементально установил, что центральное слово можно менять как угодно. Я так понял что оно необходимо исключительно внутри цикла для манипуляций с каждым новым обьектом из листа в новой итерации цикла, и придумать можно любое слово верно?
можно использовать в разных местах кода, и он будет значить один и тот же тип. А обозначает неопределенный тип данных. Хотя в некоторых случаях оба делают одно и то же.
Всем доброго вечера! ребят, подскажите: где Вы берёте практические задания, на которых руку набиваете? Просто из теории лично я понял процентов 20 - 30.... может через практику удастся пробить этот блок!! И чисто из любопытства спрошу: кто то реально смог всё понять с первого раза???? или Вы уже где то эту тему изучали и это видео просто, как закреп???? Просто здесь ещё как то можно разобраться, а, когда доходит до практики это капец.... Кто проходил java марафон (13 день)???? Всем спасибо!!!!
javaRussia мм,если правильно понял,на 7:00 говорилось что джокер, используется если "сын" не может наследовать свойство "отца",т.е является в данном случае костылем(вспомогательной приспособой). А кроме подобныйх случаев, он где-то используется?
Либо в комментах все гении, либо я тупой. Честное слово, почти после каждого видео, я иду гуглить те или иные моменты. Эти видосы, как мне кажется, для тех, кто уже изучал java поверхностно и пришёл сюда чисто закрепить свои знания
Не знаю, у автора всё красиво, как по мне. Дело в том, что идентификатор list на порядок, а то и два короче, чем вариант с listOfAnimal. Нам пришлось бы указывать имя этой переменной ещё и в качестве второго аргумента в параметрах расширенного цикла for. Поэтому, как говориться, краткость - сестра таланта, а имя переменной list и так достаточно хорошо передаёт семантику переменной.
Дмитрий Костенко про краткость, все верно,только суть то поговорки не только в краткости-но и наиболее емкой краткости) во-вторых коммент был именно к List < ? > List, а не List < ? > list. Что для новичков особенно опасно( не в данном случае,но потенциально) т.к. вместо объекта(!) типа List мы можем обращаться к типу List. Ну в третьих опять же, касаемо новичков. Если привыкнуть постоянно писать list, в итоге это может привести к тому что будут list1, list2 и т.д.
Приветствую! Пересмотрел ещё раз видео и никак не могу понять, откуда Вы взяли, что автор писал именно так: "List < ? > List". На какой секунде видео это присутствует? Просто я вижу только" "List < ? > list" и никакой путаницы здесь не возникает. Мне кажется, что Евгений просто ошибся, когда писал свой комментарий...
Generics для того, чтобы в качестве параметров можно было бы пеередавать не только сами переменные, но и типы данных. Суть Generics - в этом. Метод может получить () переменыые, в которых хранится ТИП данных и использовать по своему усмотрению. Остальное всё - лирика :)
Чтобы было понятно мало смотреть видео на Ютубе. 1. Практика, 2. Теория (книги). 80% практики и 20% теории. И только потом можно смотреть видео в Ютубе.
Я в видео немного неясно изъяснился.
Если мы пишем
то есть если мы напишем
Итак, я попробовал такие варианты:
1.
private static void test(List
Vega Enigma
Наиль же пишет, что подкласс включается!!!!!
подкласс - это именно из твоего примера
@@АнтонШарафиев запись List уже подразумевает, что List
Лучшее объяснение азов Wildcard, что я читала/слушала. Теперь можно перечитывать Хорстмана и Эккеля)
Наиль, все как всегда на высоком уровне! Спасибо!
Спасибо Вам добрый человек за Ваш труд для людей !!!
пожалуй самые содержательные ролики без воды. максимально плотно подана инфа
Ага! Так вот откуда был первый курс :)
За продвинутую Java Еще раз спасибо, все очень подробно и доходчиво . Курс советую всем кто хочет изучить Java.
Теперь бы еще курс по практике Java.
Планируется такой.
Где можно практиковаться у вас ?
@@alishevN такс, три года прошло) очень хочется
@@seinarukiro есть марафон, но там не так много заданий и первые 7 дней решаются за 3 часа.
Забыл показать как создавать свои параметризованные классы и методы, а так все хорошо объяснил. Молодец!
Очень понятно объяснил, спасибо! В моменте щелкнуло в голове и понял )
Наиль, вы таки Учитель! Так просто и понятно объяснить заумную тему... Спасибо!
Благодарю за полезный урок! Учимся дальше!
Спасибо за видеоуроки , грамотно объясняете!
private static void test(List list){ /*(List list) - то что подаем в параметр, это получается отдельная новая переменная?
for (Animal animal: list){ /*И здесь Animal animal: list - animal это тоже новая переменная?
System.out.println(animal);
}
Ну да, это всё локальные переменные. Переменная list, которая параметризует класс Animal, ограничена телом метода test(), а ссылочная переменная animal типа Animal является итерационной переменной, которая обслуживает расширенный цикл for() и используется исключительно в нём.
@@Lexoid65 но что собой означает переменная list, когда задачи цикла for - вывести все значения listOfAllAnimals? По логике ведь должно быть for (Animal animal : listOfAllAnimals). Если в цикл each мы ставим переменную list - for (Animal animal : list), то как Java понимает, что нужно вывести все значения listOfAllAnimals?
@@simonsmirnov5844 у меня точно такой же вопрос возник.Сижу разбираюсь.
@@bglets1930 Думаю, что java понимает с чем работать по параметру, указанному в скобках при вызове метода test:
test(listOfAnimal); здесь указан listOfAnimal
test(listOfDogs); а здесь listOfDogs
Спасибо! Все очень доступно и понятно!
на сайтах примеры огромны и глаза рабегаются...тут все просто и компактно
да, это очень важно в обучении
часто натолкают в примеры всего подряд
Спасибо, отлично все рассказал - все понял.
После просмотра этого видео все встало на свои места. Ничего не запутано, Наиль. Наоборот, очень чётко и ясно объяснил. Спасибо большое !
Это сарказм? Нагородил в этом видео столько инфы, что я третий день въехать не могу...
Ничего не понятно, но очень интересно
это лучший канал по джаве!
Так, пожалуй тут я тормозну и подожду курс по практическим занятиям. Теории накопилось много, и без грамотной практики уже начинается каша в голове. Самому себе придумывать занятия не очень интересно и продуктивно. А вообще, как всегда, респект за курс. Подача материала простая и доходчивая.
а что за курс практики? от этого же автора?
Javarush чекни
Мы тут все походу с Джава раша❤😂😂😂
Спасибо! Теперь я понял WIldCards!
Спасибо за работу!
Ты очень крут! Спасибо!
Дженерики очень хорошо описаны в Rust (разве что сигнатуры писать сложнее), однако и в Java все тоже довольно просто и лаконично.
Сначала было непонятно на 50%, но как ввел под конец extends все стало понятно 120% ))
Lisr
Всем привет.
Начал изучать Java оочень недавно. Прям катастрофически недавно. Вооружился книгой и этими вот видео от Алишева.
Вроде и понимаю и не понимаю.
Охота еще и живого общения с теми, кто в теме. Может где-то собираются начинающие джаверы, пьют кофе и разбирают вместе непонятные моменты. Я из Питера. Буду рад знакомству с такими вот людьми.
PS Спасибо автору за годный контент
Прошло пол года. Как успехи, не забросил?
@@arturfn5256 Сколько раз видел в комментах людей которые спрашивают у других, не забросили ли они, никто ни разу не отвечал... странно
@@skitt3496 перешёл в тестирование, полёт нормальный, месяц тому устроился. Удачи тебе!)
@@arturfn5256 Красавчик)
@@arturfn5256 как успехи?)
Привет! Может кто-то подсказать, почему когда я в массив добавляю объект Dog ListOfAnimal.add(new Dog(5)) при выводе на экран показывается 0 (для Dog сделала конструктор по аналогии с Animal). Спасибо.
изменила конструктор в Dog на public Dog(int id) {super(id);}
@@ЕкатеринаПрудникова-м1у Вау.... ты просто космос
@@ЕкатеринаПрудникова-м1у но как и почему это сработало? 🧐
@@java_worm вызван конструктор родительского класса, который и заполнил поле
why we cant write just// for( Object animal : list ) {System.out.println(animal); } [ you can answer in russian]
спасибо за видео) про использование с super не знал)
Спасибо за труд!
А класс-дженерик можно создавать так: public MyGenerigs
Странно. Они пишет ListOfAnimals.add(new Animal(id:1)); и у него не подчёркивает красным.
подскажите пожалуйста, почему у нас вызывается toString в методе test? метод for each и toString я по отдельности понял, не почему вызывается toString?
Где он там вызывается
@@АлексейСытник-э9т где именно он вызывается я и хочу понять, но для того, чтобы он не выдал хэшкод, а выдал id мы переопределяем его в классе Animal.
@@TheBerrington он вызывается неявно. Для любого объекта, переданного параметром внутрь print автоматически вызывается его метод toString
@@АлексейСытник-э9т спасибо!
Это все хорошо, но что такое List и ArrayList?
ua-cam.com/video/QCjLMw988kQ/v-deo.html
@@alishevN О, спасибо за ответ!) Успехов вам!
отлично рассказано!
Отлично объяснил!
Как в IntelliJ IDEA также сделать, чтобы сверху созданные методы высвечивались?
Получилось узнать?
Спасибо.
Ничего не понял, объяснение очень быстрое, как буд то не для новичков, а для продвинутых кто забыл, постоянное переключение, сложно сосредоточиться.
Спасибо, более менее стало понятнее
такой вопрос: в пердыдущих классах разбиралось слово super? я его совсем не помню. или пропустил или переучил)
Для новичка конечно всё запутанно и сложновато.
Надеюсь, что я не один такой тупой
Хотел спросить где вы учили этот язык? по каким материалам? спасибо
Еще один момент не понял. Когда мы добавляем в лист обьекты. К пртмеру в коде написано дважды
listOfDogs.add(new Dog()) ;
listOfDogs.add(new Dog()) ;
Этим самым у нас в листе создаются два обьекта класса дог, так? Но разве так можно? Как можно создать два экземпляра класса и не присвоить им никаких имен?
Не существует явного требования заполнения полей классов, они просто остаются пустыми
Вопрос: зачем писать во входных параметрах метода test(List
так нужно писать чтобы можно было передать потомков от Animal
Привет! Подскажи пожалуйста. Если взять цикл for each. for(Animal animal : list)
В данном примере у нас первое слово "Animal" - обозначает тип данных хранящихся внутри листа, верно? Последнее слово "list" определяет обьект который мы передаем в цикл, верно? А что обозначает центральное слово animal? Почему оно с маленькой буквы? У нас это слово с маленькой буквы вообще нигде не применялось в коде. И экземпляра класса Animal по имини animal тоже не создавалось. Так на что указывает центральное слово и зачем оно? Надеюсь понятно изьяснился)
Эксперементально установил, что центральное слово можно менять как угодно. Я так понял что оно необходимо исключительно внутри цикла для манипуляций с каждым новым обьектом из листа в новой итерации цикла, и придумать можно любое слово верно?
@@zahark7781 верно
см Урок 12: Цикл for each
Крайне доступно и полезно, спасибо!
В других уроках по дженерикам я видел , а не знак вопроса. и это одно и тоже?
можно использовать в разных местах кода, и он будет значить один и тот же тип. А обозначает неопределенный тип данных. Хотя в некоторых случаях оба делают одно и то же.
Спасибо, брат
спасибо!
Спасибо!
Всем доброго вечера! ребят, подскажите: где Вы берёте практические задания, на которых руку набиваете?
Просто из теории лично я понял процентов 20 - 30.... может через практику удастся пробить этот блок!!
И чисто из любопытства спрошу: кто то реально смог всё понять с первого раза???? или Вы уже где то эту тему
изучали и это видео просто, как закреп????
Просто здесь ещё как то можно разобраться, а, когда доходит до практики это капец....
Кто проходил java марафон (13 день)????
Всем спасибо!!!!
Я понял все что он сказал(с этого урока). Смотрел год назад этот курс, потом забросил, но тогда я с этого урока ничего не понял)
т.е при super объекты класса Animal не принимаются?
Я в видео немного неясно изъяснился.
Если мы пишем
Теперь всё стало понятно. Спасибо!
Прошу прощения, а если будет
Стоит прикрепить это в описание к видео, что бы убрать эту мельчайшую неясность с super, а так всё доходчиво. Спасибо.
PalateNSe
Dog тоже включаем.
"Если мы пишем
Отличное видео. Подскажите, получила ли тема дженериков где-то продолжение в вашей работе?
огромное спасибо, учу то твоим урокам потом в универ обратно. лол. у тебя понятней и быстрее.
Осталось непонятным самое главное - для чего целое число (id) нужно преобразовывать в строчный вид?
Объясните, кто знает, пожалуйста!
Wildcard можно перевести как маска в контексте программирования
А почему пишите List newList= new ArrayList(); , а не ArrayList newList = new ArrayList();
Будет ли ещё Java-марафон Практика ?
да, они теперь проходят 24/7. Переходите по ссылке и запускайте телеграм бота.
Блин с третьего раза только вдуплил что тут от меня хотят. :)
Спасибо)
Пазлы начали.... слаживаться после просмотра к этому видео +видео с продвинутой Джавы про ArrayList.
Хороший и понятный урок !
Спасибо! Все четко и понятно)
Пришлось делать // Set language level to 7
А этот Джокер(вилдкард), это просто костыль наследования или как?
И большое спасибо за прекрасные уроки. С нетерпением жду продолжения )
Не понял вопрос)
javaRussia мм,если правильно понял,на 7:00 говорилось что джокер, используется если "сын" не может наследовать свойство "отца",т.е является в данном случае костылем(вспомогательной приспособой). А кроме подобныйх случаев, он где-то используется?
Да, больше особо нигде не используется.
javaRussia спасибо за ответ
Либо в комментах все гении, либо я тупой. Честное слово, почти после каждого видео, я иду гуглить те или иные моменты. Эти видосы, как мне кажется, для тех, кто уже изучал java поверхностно и пришёл сюда чисто закрепить свои знания
(List List) - зачем два раза List?
(List listOfAnimal) разве не так дб?
Евгений не суть важно. хотя конечно не красиво)
Не знаю, у автора всё красиво, как по мне. Дело в том, что идентификатор list на порядок, а то и два короче, чем вариант с listOfAnimal. Нам пришлось бы указывать имя этой переменной ещё и в качестве второго аргумента в параметрах расширенного цикла for. Поэтому, как говориться, краткость - сестра таланта, а имя переменной list и так достаточно хорошо передаёт семантику переменной.
Дмитрий Костенко про краткость, все верно,только суть то поговорки не только в краткости-но и наиболее емкой краткости) во-вторых коммент был именно к List < ? > List, а не List < ? > list. Что для новичков особенно опасно( не в данном случае,но потенциально) т.к. вместо объекта(!) типа List мы можем обращаться к типу List. Ну в третьих опять же, касаемо новичков. Если привыкнуть постоянно писать list, в итоге это может привести к тому что будут list1, list2 и т.д.
Приветствую! Пересмотрел ещё раз видео и никак не могу понять, откуда Вы взяли, что автор писал именно так: "List < ? > List". На какой секунде видео это присутствует? Просто я вижу только" "List < ? > list" и никакой путаницы здесь не возникает. Мне кажется, что Евгений просто ошибся, когда писал свой комментарий...
так и для чего дженерики эти?..
Generics для того, чтобы в качестве параметров можно было бы пеередавать не только сами переменные, но и типы данных. Суть Generics - в этом. Метод может получить () переменыые, в которых хранится ТИП данных и использовать по своему усмотрению. Остальное всё - лирика :)
Спасибо за столь простое и подробное объяснение!
Возможно это фичи новой джавы, но...тема вообще не актуальная, как минимум момент из видео. Всё прекрасно работает даже когда передаёшь тупо List
А про ключевое слово super видео и нет, а здесь несколько раз упоминается :)
метасимвольный аргумент)
Я не понял зачем создавать дефолтные конструкторы
Как по мне, то слишком рано затронули эту тему, будем считать, что препод ознакомил, а мы ознакомились, ничего непонятно, но очень интересно))
Я чет не понял( P.s после 2 просмотра стало понятнее)
Оч быстро и ничо не понятно(
прорешивать нужно всё это, тогда станет понятнее
Чтобы было понятно мало смотреть видео на Ютубе. 1. Практика, 2. Теория (книги). 80% практики и 20% теории. И только потом можно смотреть видео в Ютубе.
@@Daniel-mo1iy Как по мне лучше сначала видео на ютубе потом книги для более обширного изучения
Очень торопитесь...
Нихрена не понял
классно накручиваешь себе коменты с положительными отзывами чтобы продать свои курсы по продвинутой джаве
Хах, это крутой показатель, если людям кажется что коменты накрученные)
откуда столько восторженных отзывов? если тему не знаешь, по этому видео никогда и не поймешь
Не пойму что тут не понятного то?!
Мдя! Первый урок из этой серии, когда половина не понятно. Что случилось?!
тут уже твои проблемы
@@FerraKube Мы все надеемся,что ты в жизни не состоишся, умный ты наш
Спасибо!