Тема: Внутрішні(inner) і вкладені(nested) класи. Практичне використання
Поки не дуже розумію, де їх можна практично застосувати
Для мене все виглядає таким чином, що їх варто застосовувати тоді, коли:
1. потрібно забезпечити успадкування 2 і більше класів(crush java )- внутрішні класи дозволяють незалежно від зовнішнього розширювати класи і, звісно, маніпулювати даними зовнішнього класу
це саме, по-моєму можна реалізувати, впихнувши в інтерфейс клас(дефолтно вкладений)
2. коли описуваний клас повинен використовуватись тільки в 1 класі- його можна замінити на внутрішній і включити у той клас, де він повинен застосовуватись, що стосується в першу чергу анонімних, які коротенькі і використовуються в 1 місці, а потім уже і класів-членів
3. з питань безпеки, тут правда не надто шарю
щодо вкладених(статичних)- то вони:
1. ніяк не пов'язані з зовнішнім класом- не мають ссилки на нього (ВладенийКлас.this)
2. можуть використовувати лише статичні члени зовнішнього класу
3. можуть містити в собі як статичні так і не статичні члени (на відміну від внутрішніх, які статичних членів не можуть містити)
4. щоб створити об'єкт вкладеного класу не потрібен об'єкт зовнішнього
питання тоді таке: нащо і де їх юзати?