7. JAVA. Внутренние и анонимные классы | Технострим

preview_player
Показать описание
Курс "Разработка на Java"
Лекция №7 "Внутренние и анонимные классы. Стримы и лямбда."
Лектор - Рустам Кильдиев

Слайды временно отсутствуют.

Цель курса —создание рабочего приложения и получение необходимых навыков и опыта в области разработки программного обеспечения. По окончании курса студенты должны знать синтаксис и основные библиотеки языка Java, понимать объектно-ориентированный подход, уметь декомпозировать сложные задачи.

Получаемые навыки:
Основные конструкции языка, объекты и классы. Ввод и вывод в Java - консольный, файловый, сетевой. Интерфейсы и абстрактные классы, анонимные классы. Лямбда-функции. Сетевое взаимодействие, сокеты. Механизм исключений. Проверяемые и непроверяемые исключения. Потоки - жизненный цикл, прерывание. Критическая секция. Проблемы взаимодействия (дедлок). Механизм wait/notify, блокирующие очереди producer/consumer. Коллекции, выбор структуры данных, подходящей для задачи. Параметризованные коллекции. Параметризация в Java.

СМОТРИТЕ ТАКЖЕ:

-------------------------

О КАНАЛЕ:

Официальный канал образовательных проектов Mail.Ru Group

Актуальные лекции и мастер-классы о программировании от лучших IT-специалистов. Если вы увлечены мобильной и веб-разработкой, присоединяйтесь!

Наши проекты:

------------------------

МЫ В СЕТИ:

Рекомендации по теме
Комментарии
Автор

Было бы неплохо вставлять код скринами из IDEA (с подсветкой синтаксиса) а не просто текстом.

arsen
Автор

Добрый день. Недавно начал изучать Java и ваши лекции считаю очень интересными, огромное спасибо за них. Но иногда возникают непонятные вопросы, в частности в этой лекции на 10 минуте ваш студент спрашивает, как можно из внутреннего класса работать с переменными внешнего. Кильдиев Рустам посоветовал во внутреннем классе создать ссылку на внешний класс. Надеюсь вы меня поправите, но на сколько я знаю внутренний класс сам по себе находится в объекте внешнего класса, поэтому, чтобы обратиться к переменной внешнего класса, в методе внутреннего класса стоит просто написать ее имя, то есть localInt. Но так как в данном случае имена переменных внешнего и внутреннего класса совпадают (localInt), к переменной внешнего класса можно более явно обращаться через Inner2.this.localInt и никаких ссылок хранить и передавать никуда не нужно.

alexshut
Автор

лямбды импользуют функциональные интерфейсы. Функциональный интерфейс- это интерфейс в котором один АБСТРАКТНЫЙ (без реализации) метод.

non_holy
Автор

По идее если внутренний класс не static, то его можно инстанцировать [конечно так делать не стоит]... К примеру это можно сделать так: new InnerClassDemo().new Inner().
Самое простое объяснение разницы использования или не использования static для внутреннего класса я считаю это следующее условие: нужно ли, чтобы внутренний класс знал о внешнем классе (его методы, состояние, переменные) - если ДА, то делаем его не static, если НЕТ - то делаем его static.
В первом случае внутренний класс будет хранить ссылку на внешний класс и тогда в его методах можно будет обращаться к методам\переменным внешнего класса через инструкцию вида:
Во втором случае - внутренний класс "живет" своей жизнью.

nikitakoylubaev
Автор

жаль на видео не видно лазерной указки

kosskateanddestroy
Автор

Всем кто пишет осуждения и претензии, просьба создать свой канал и обучать так как вы можете и умеете. Не нужно осуждать чужой труд. Тот, кто хочет получить знание, может по крупицам, но получит его в любом видео

uWu_
join shbcf.ru