Size: a a a

2020 June 23

DS

Dmitriy Shilnikov in learn.java
Singular
В чем разница между внутренним и вложенным классом? Это же одно и тоже
источник

S

Singular in learn.java
источник

S

Singular in learn.java
источник

Ш

Шима in learn.java
а зачем вложенные классы делать) это ж менее читабыльный код🐳
источник

OP

Oleg Pavl in learn.java
Singular
В чем разница между внутренним и вложенным классом? Это же одно и тоже
Внутренние - не статические, вложенные - статические.
источник

S

Singular in learn.java
В чем разница со стороны кода? И как программисты понимают, что это внутренний и вложеный. Надо называть класс Inner и Outer?
источник

S

Singular in learn.java
Oleg Pavl
Внутренние - не статические, вложенные - статические.
Нет) есть вложенный класс, вложенный статический класс, анонимный класс и внутрений
источник

OP

Oleg Pavl in learn.java
Singular
Нет) есть вложенный класс, вложенный статический класс, анонимный класс и внутрений
Реально в статьях пишут где как, надо доки почитать)
источник

QH

Quantum Harmonizer in learn.java
Name
Значит не массив
Нет, не значит)
источник

OP

Oleg Pavl in learn.java
Singular
Нет) есть вложенный класс, вложенный статический класс, анонимный класс и внутрений
Вот что оракл пишет по этому поводу -> A nested class is a member of its enclosing class. Non-static nested classes (inner classes) have access to other members of the enclosing class, even if they are declared private
источник

DS

Dmitriy Shilnikov in learn.java
Шима
а зачем вложенные классы делать) это ж менее читабыльный код🐳
Why Use Nested Classes?
Compelling reasons for using nested classes include the following:

It is a way of logically grouping classes that are only used in one place: If a class is useful to only one other class, then it is logical to embed it in that class and keep the two together. Nesting such "helper classes" makes their package more streamlined.

It increases encapsulation: Consider two top-level classes, A and B, where B needs access to members of A that would otherwise be declared private. By hiding class B within class A, A's members can be declared private and B can access them. In addition, B itself can be hidden from the outside world.

It can lead to more readable and maintainable code: Nesting small classes within top-level classes places the code closer to where it is used.
источник

ML

Maxim Lagutkin in learn.java
Singular
В чем разница со стороны кода? И как программисты понимают, что это внутренний и вложеный. Надо называть класс Inner и Outer?
Именно такие классы и называют вложенными.

Они делятся на 2 вида:

   Non-static nested classes — нестатические вложенные классы. По-другому их еще называют inner classes — внутренние классы.
   Static nested classes — статические вложенные классы.

В свою очередь, внутренние классы (inner classes) имеют два особых подвида. Помимо того, что внутренний класс может быть просто внутренним классом, он еще бывает:

   локальным классом (local class)
   анонимным классом (anonymous class)
источник

MN

Midow Noname in learn.java
Dmitriy Shilnikov
Why Use Nested Classes?
Compelling reasons for using nested classes include the following:

It is a way of logically grouping classes that are only used in one place: If a class is useful to only one other class, then it is logical to embed it in that class and keep the two together. Nesting such "helper classes" makes their package more streamlined.

It increases encapsulation: Consider two top-level classes, A and B, where B needs access to members of A that would otherwise be declared private. By hiding class B within class A, A's members can be declared private and B can access them. In addition, B itself can be hidden from the outside world.

It can lead to more readable and maintainable code: Nesting small classes within top-level classes places the code closer to where it is used.
and inner class can be static
источник

DS

Dmitriy Shilnikov in learn.java
Midow Noname
and inner class can be static
Это написано про оба типа вложенных классов - и статических, и не статических. Ты может статью прочитаешь всё-таки? Там как бы всё расписано.
источник

A5

Artemie 5oh5 in learn.java
У меня тут такой трабл: я в общем пишу двусвязный список. Вот код реализации метода remove, который по идее должен удалять элемент из списка, но он этого не делает. Кто-то может сказать что не так или как-то по-другому кинуть код?
источник

S

Singular in learn.java
Maxim Lagutkin
Именно такие классы и называют вложенными.

Они делятся на 2 вида:

   Non-static nested classes — нестатические вложенные классы. По-другому их еще называют inner classes — внутренние классы.
   Static nested classes — статические вложенные классы.

В свою очередь, внутренние классы (inner classes) имеют два особых подвида. Помимо того, что внутренний класс может быть просто внутренним классом, он еще бывает:

   локальным классом (local class)
   анонимным классом (anonymous class)
Тоесть обычные вложенные классы это и есть inner классы?
источник

ML

Maxim Lagutkin in learn.java
Да у Хорстмана по крайней мере так написано и статье от Java Rush скинул кусок выше
источник

ML

Maxim Lagutkin in learn.java
А вообще сейчас по большей части пользуются lambda выражениями вместо внутренних классов
источник

OP

Oleg Pavl in learn.java
Вот ответ на вопрос про внутренние классы. Думаю с ораклом спорить никто не будет.
источник

GV

Gukov Viktor in learn.java
Maxim Lagutkin
А вообще сейчас по большей части пользуются lambda выражениями вместо внутренних классов
Стоит уточнить, что именно анонимных, а не вообще всех внутренних
источник