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

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

Открыта
Дополнительные материалы | 4 уровень - 1

— Привет, Амиго! Не понимаю я этих интерактивных уроков. Вот в мое время все, на что мог рассчитывать студент, — это старая добрая нудная лекция.

— Ну, Профессор… Не такие уж у вас и скучные лекции!

— Я тоже так считаю. На сегодня — вот тебе одна: о наследовании внутренних классов, с примерами.

Комментарии (30)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Максим Li Backend Developer
26 ноября 2025, 00:12
😎
Fl1s Backend Developer
2 августа 2023, 05:51
"Экзамен для меня всегда праздник, профессор!"
Marat Safiianov
Уровень 38
15 апреля 2024, 15:04
"Похвально"🤧
Kurama
Уровень 50
7 ноября 2022, 17:49
Если здесь только одна ссылка, можно было её содержимое показать на этой же странице, всё равно тут только картинка и 3 реплики
FatCat Backend Developer
10 сентября 2022, 12:30
капец как я кайфую от обучения, пока не вспоминаю, о том, что увидел в ТЗ для стажировки)
7 октября 2022, 22:40
Внутренние локальные классы сильно пригодились?
FatCat Backend Developer
8 октября 2022, 05:27
пока не сталкивался с ними
АндрейJava Developer в ОТРExpert
3 ноября 2021, 00:26
-24 за то, что уже читал))
Kurama
Уровень 50
7 ноября 2022, 17:47
Этого вроде ещё не было
Tema TimoninQA Automation Engineer в Иннотех
4 июля 2023, 14:16
Кто-то где-то ранее в комментах скидывал ссылку на эту статью
hidden #2513091
Уровень 44
2 ноября 2021, 14:16
ВНУТРЕННИЙ и ВЛОЖЕННЫЙ классы это не одно и то же ??? Ведь любой ВЛОЖЕННЫЙ класс является ВНУТРЕННИМ и наоборот.
Кирилл
Уровень 41
24 ноября 2021, 09:00
Оракул говорит: Nested classes are divided into two categories: non-static and static. Non-static nested classes are called inner classes. Nested classes that are declared static are called static nested classes. (Вложенные классы делятся на две категории - статические и не статические. Не статические называются внутренними классами. Вложенные классы объявленные как статические называются статическими вложенными классами) Из этого следует что любой ВНУТРЕННИЙ класс является вложенным, однако есть ещё НЕ ВНУТРЕННИЕ вложенные классы - статические, которые и называются статические вложенные классы. https://docs.oracle.com/javase/tutorial/java/javaOO/nested.html
hidden #2513091
Уровень 44
25 ноября 2021, 13:43
НЕ ВНУТРЕННИЕ вложенные это какие ? например ? Все вложенные это по умолчанию внутренние. Если они не внутри другого класса то они уже ни во что не вложенные.
Кирилл
Уровень 41
25 ноября 2021, 17:46
Статические вложенные классы(static nested classes)
Кирилл
Уровень 41
25 ноября 2021, 18:02
Пройдите пожалуйста по ссылке, посмотрите. Все классы объявленные в других классах называются вложенными и делятся на две большие категории - не статические вложенные классы(или внутренние классы) и статические вложенные классы. Если правильно понимаю логику создателей языка то внутренние классы это классы для создания объектов которых необходимо наличие объекта внешнего класса: ВнешнийКласс переменнаяВнешнего = new ВнешнийКласс(); ВнешнийКласс.ВнутреннийКласс переменнаяВнутреннего = переменнаяВнешнего.new ВнутреннийКласс();. Статические вложенные классы такого не требуют и для создания их объектов требуется лишь указать имя внешнего класса как-то вот так: ВнешнийКласс.ВнутреннийКласс переменная = new ВнешнийКласс.ВнутреннийКласс();.
hidden #2513091
Уровень 44
27 ноября 2021, 06:29
Все, спасибо. Теперь разобрался, ведь действительно статический вложенный класс. Хотя если снова позанудствовать и попробовать прдставить все в виде объектов. В JVM при работе с static nested classes ведь создается экземпляр класса обертки только нам этого не показывают. Но для понимания static nested classes того что статик не требует экземпляр уже понятно. Спасибо.
Кирилл
Уровень 41
27 ноября 2021, 20:13
Вместе победим!
Andrey PanchenkoМоет полы в Яндекс
6 октября 2021, 21:32
не густо me gusta
Sekator
Уровень 41
28 декабря 2019, 12:41
во кода кусочек
class Base {
  void method1() {
  }

  void method2() {
  }
}

class A { // нормальный класс

  static class B {
  } // статический вложенный класс

  class C {
  } // внутренний класс

  void f() {
    class D {
    } // локальный внутренний класс
  }

  void g() {
    // анонимный класс
    Base bref = new Base() {
      void method1() {
      }
    };
  }
}
NastyaGermanovich
Уровень 35
Expert
9 марта 2018, 18:06
вот эта картинка посмешила))
KRonst Backend Developer
28 июля 2018, 11:16
Прям как про классы/методы/переменные
Artem
Уровень 40
2 февраля 2018, 13:52
Рекомендую. Очень помогает структурировать знания, полученные на последних двух уровнях. http://javaway.info/kakie-byvayut-vnutrennie-klassy-kak-pravilno-sozdavat-obekt-vlozhennogo-klassa-kak-pravilno-sozdavat-obekt-vnutrennego-klassa-zachem-ispolzovat-klyuchevoe-slovo-final-pri-sozdanii-anonimnyh-klassov-vo/
Dudchenko Andrei
Уровень 26
14 февраля 2018, 19:40
По-моему нет смысла разбираться в том, что не будешь использовать. А когда столнешься с реальной задачей и найдешь где-то решение, которое использует какую-то непонятную хреновину - вот тогда самый момент для изучения и тыкания палкой.
NastyaGermanovich
Уровень 35
Expert
9 марта 2018, 18:07
Спасибо за ссылку!
Anonymous #860217
Уровень 31
1 апреля 2020, 12:22
Наконец-то внятно написано почему нельзя использовать не final переменные в локальных/анонимных классах
Денис Давыдов
Уровень 38
23 мая 2020, 06:43
В этой статье используются понятия "внешний класс" и "обрамляющий класс", В частности, про анонимные классы написано "могут обращаться к финальным локальным переменным внешнего класса и ко всем полям обрамляющего класса". Что есть внешний класс, а что - обрамляющий? Обрамляющий - это класс(интерфейс), от которого наследуется (реализует) анонимный?
BoJava Developer в Мегафон
24 января 2021, 12:11