Вложени класове в Java

Съдържание
Има моменти, когато нашето приложение придобива по -големи размери, както по размер, така и по сложност, особено ако работим в a ориентиран към събития, затова вместо да изграждаме класове отделно, можем да правим вложени класове.
The вложени класове Те ни позволяват да дефинираме един клас в друг, по този начин можем да получим достъп до информацията за класа, който го съдържа, с това можем да задоволим изискванията по по -прост начин, като не се налага да изграждаме независими структури.
Вложени класовеА вложен клас е клас, дефиниран в обхвата или обхвата на друг клас, тоест той е в рамките на класа, който ще го съдържа, това означава, че вместо да се налага да се създава вътрешен клас обект от външния клас, за да се използват неговите атрибути и методи, от които можем да го направим директно е на ваше разположение.
Трябва да внимаваме да не бъркаме това с отделни класове в един и същ файл, тъй като това е напълно различна концепция, в този случай говорим за един клас в друг, а не че те споделят файла, нека видим разликата между двете дефиниции.

На изображението виждаме в горната част как класовете в същия файл са един върху друг, но в долната част виждаме как вложеният клас е в дефиницията на друг клас, тази разлика изглежда очевидна, но все пак добре е да направите разяснението, за да избегнете бъдещи проблеми.
1- А вложен клас е компилиран в класа, който го съдържа, това генерира файл .клас с комбинация от имена на стилове ClassExternal $ ClassNsted.class, ако следваме примера в изображението, името ще бъде Тествайте $ Nsted.class.
2- А вложен клас Можете да използвате и да се позовавате на атрибутите и методите на класа, който го съдържа, без да се налага да създавате нов екземпляр, благодарение на това можем да опростим съдържанието на нашата програма малко, особено когато работим с ориентация на събитието, нека видим на следното изображение как се изразява това:

3- вложен клас могат да бъдат засегнати от модификатори на видимостта и да приемат техните характеристики, освен това може да бъде деклариран и като статичен, но ако направим последното, ще имаме достъп само до методите статичен от класа, който го съдържа.
4- Въпреки че са вложени класове, това могат да бъдат екземпляри на класове, различни от класовете, които ги съдържат, за това можете да използвате следната форма:
ExternalClass.NstedClassNstedClassObject = ExternalClassObject.newNsted Class ();

В случай, че нашият вложен клас е от тип статичен след това трябва да използваме следната форма:
Външен клас. NestedClass nestedClassObject = нов OuterClass.NstedClass ();

С това приключваме този урок, видяхме как можем да генерираме вложени класове и синтаксисът, свързан с тази характеристика на езика, полезността на този начин на работа е, че можем да комбинираме зависимите класове в един голям клас, с това намаляваме броя на файловете, а също и изходния код, с това имаме по -голям контрол на нашето приложение и ние улесняваме живота на нашия екип за разработка, като имаме всичко свързано в един и същи клас.
wave wave wave wave wave