JavaRush /Курсы /Java Multithreading /Полезные ссылки от профессора — 23

Полезные ссылки от профессора — 23

Java Multithreading
3 уровень , 10 лекция
Открыта

— Привет, Амиго! Быстро же ты справился с новыми темами и задачами. А у меня для тебя сегодня — много хорошего чтива. Думаю, тебе будет полезно еще раз как следует разобраться с вложенными классами.

Вложенные внутренние классы

Зачем создавать одни классы внутри других? Например, чтобы выделить некую сущность, неразрывно связанную с другой сущностью, чтобы сохранить логику программы. Сложно? Ничего страшного. Рассмотрим все подробно и с примерами в этой статье.

Статические вложенные классы

Чем статические вложенные классы отличаются от других групп? Продолжаем рассматривать тему вложенных классов и разбираться с нюансами — в этой практической лекции.

Внутренние классы в локальном методе

Локальные классы — это подвид внутренних классов, но у них есть ряд особенностей и отличий. Давай посмотрим на него в действии.

Анонимные классы

Как и локальные классы, о которых мы говорили в прошлой лекции, анонимные — подвид внутренних классов. У них также есть несколько сходств и отличий между собой. Давай разберемся в этой подробной лекции, почему они, собственно, называются «анонимными», и посмотрим на практические примеры.

И еще: полезная ссылка. Все о final читаем в 7 главе книги "Философии Java" и в статье на нашем сайте.

Комментарии (39)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Валихан Уровень 33 Expert
2 декабря 2024
Спасибо за лекции. Все доступно и понятно. Не то что на уровнях ранее.
Garik Уровень 38
9 марта 2023
у одного меня ссылка на "Философии Java" ведет на сайт здорового питания?
Лебовски Уровень 51
12 апреля 2023
у меня норм Попробуй так
DmitryK #853142832 Уровень 26
13 декабря 2022
При сериализации вложенных классов есть особенность. В туториалах Oracle настоятельно не рекомендуется сериализовывать вложенные классы (включая локальные и анонимные). Дело в том, что при компиляции вложенных классов создаются "синтетические" конструкции (классы, методы, поля), которых нет в исходном коде. Состав этой "синтетики" зависит от компилятора. Поэтому, если вложенные классы сериализуются на одном компиляторе, а десериализуется на другом, то могут возникнуть проблемы совместимости. https://docs.oracle.com/javase/tutorial/java/javaOO/nested.html
Михаил Уровень 32
25 октября 2022
Тяжело и одновременно легко заходило. Экзамен не сдам, но понять почему код кажется абсурдным (несмотря, на то, что он работает) я смогу. Как я понял данный материал про внутренние классы имеет отношение к архитектуре. К тому как проектировать. Это больше Core, чем что бы то ни было еще.
Luka Biba Уровень 36
13 июля 2022
Всю материю высосали
Pig Man Уровень 41
2 декабря 2020
То, что выписал для себя (без прочтения лекций будет непонятно): Виды вложенных классов: Все вложенные классы имеют полный доступ к внешнему классу, даже к private полям и методам. Не статические вариации имеют доступ как к статическим полям и методам, так и к нестатическим. Статическая вариация имеет доступ только к статическим Вложенные классы (статические) — такой класс не имеет в себе ссылки на внешний класс и создается не на его основе. Создание такого вложенного класса повышает инкапсуляцию и способствует более реалистичной абстракции. Может содержать статические переменные и методы Внутренние классы (не статические) — такой класс не может существовать без экземпляра внешнего класса и должен быть создан на его основе, который неявно передается в него при создании. Чтобы обратиться к полю или методу внешнего класса внутри внутреннего нужно писать ИмяКласса.this.поле. Не может содержать статические переменные и методы Локальные классы (не статические) — такой класс объявляется только в блоке кода. Чаще всего — внутри какого-то метода внешнего класса. Если версия java 7 или ниже, параметры метода должны быть с модификатором final. В 8 версии языка локальный класс имеет доступ не только к final переменным и параметрам, но и к effective-final. Effective-final называют переменную, значение которой не менялось после инициализации. Объект локального класса не может создаваться за пределами метода или блока, в котором его объявили. Локальные классы в статических методах внешнего класса могут ссылаться только на статические члены включающего класса. Не может содержать статические переменные и методы Анонимные классы (не статические) — такой класс объявляется на основе другого класса или интерфейса посредством указания в { } всех нужных нам методов и полей. Не может содержать статические переменные и методы
Kes Уровень 41
4 апреля 2021
Если продаешь свои записи в электронном виде - пиши)
Pig Man Уровень 41
4 апреля 2021
Хочешь купить свинью в мешке? А если у меня там только одна запись толковая? Я бы и бесплатно выложил, но во-первых, я пишу все для себя и не хочу, чтобы кто-то это читал и оценивал качество. А во-вторых, запись выученного - хороший способ запомнить еще лучше. Толку-то от того, что человек прочет чужую статью, а потом возьмет к ней чужие записи?
Kes Уровень 41
10 апреля 2021
В инете мало именно краткого сухого материала. Ладно, я тебя услышал)
Pig Man Уровень 41
25 апреля 2021
Выше был комментарий «ну и зачем тогда ты этот бред написал», но автор удалил уже Ты про какой бред? Краткое определение видов вложенных классов? Оставил для тех, кому после прочтения лекций это поможет еще раз быстро повторить материал и лучше его усвоить. А ты зачем свой бред тут оставил?
Сэм Фишер Уровень 27
11 мая 2021
спасибо за информацию. хороший, обобщающий материал!
Pig Man Уровень 41
11 мая 2021
Какое у тебя счастливое число?
Сэм Фишер Уровень 27
13 мая 2021
у меня нет конкретного счастливого числа, а что?
Pig Man Уровень 41
13 мая 2021
Это была отсылка на фильм. Я перепутал твое имя с Ником Фишером из одного фильма (думал, ты оттуда его взял)
Сэм Фишер Уровень 27
13 мая 2021
не фильм. Splinter cell
Михаил Уровень 36
26 ноября 2020
На самом деле лекции очень интересные и понятные. Конечно, не до конца понятно где и какой именно класс нужно применять, но, думаю, даже работающие разработчики не все до конца правильно умеют пользоваться вложенными классами. Но к серии статей на JavaRush лично у меня никаких претензий. Спасибо! Для закрепления темы всегда можно посмотреть видосы на Ютубчике.
Максим Уровень 27
5 июня 2020
Больше лекций Богу лекций
9 февраля 2022
Лекции для трона из лекций.
Kex Уровень 38 Expert
6 мая 2020
Геморойная тема - очень много правил в использовании, по началу очень осторожно нужно быть локальными и nested статиками.
Егор Уровень 37
5 мая 2020
Hello world!