Klasy zagnieżdżone w Javie

Spisie treści
Zdarza się, że nasza aplikacja przybiera większe rozmiary, zarówno pod względem wielkości, jak i złożoności, zwłaszcza jeśli pracujemy w a zorientowany na wydarzenia, dlatego zamiast osobno budować klasy, możemy tworzyć klasy zagnieżdżone.
ten klasy zagnieżdżone Pozwalają nam zdefiniować jedną klasę w drugiej, w ten sposób możemy uzyskać dostęp do informacji o klasie, która ją zawiera, dzięki czemu możemy spełnić wymagania w prostszy sposób bez konieczności budowania niezależnych struktur.
Klasy zagnieżdżoneA klasa zagnieżdżona jest klasą zdefiniowaną w zakresie lub zakresie innej klasy, to znaczy znajduje się w klasie, która ma ją zawierać, oznacza to, że zamiast tworzyć instancję w obrębie klasy wewnętrznej, obiekt klasy zewnętrznej używa jej atrybutów i metod możemy to zrobić bezpośrednio, ponieważ jest w Twoim zasięgu.
Musimy uważać, aby nie pomylić tego z oddzielnymi klasami w tym samym pliku, ponieważ jest to zupełnie inna koncepcja, w tym przypadku mówimy o jednej klasie w innej, a nie o tym, że dzielą plik, zobaczmy różnicę między obiema definicjami.

Na obrazku widzimy w górnej części jak klasy w tym samym pliku są jedna na drugiej, natomiast w dolnej części widzimy jak klasa zagnieżdżona znajduje się w definicji innej klasy, ta różnica wydaje się ewidentna, jednak dobrze jest zrobić wyjaśnienie, aby uniknąć przyszłych problemów.
1- A klasa zagnieżdżona jest kompilowany do klasy, która go zawiera, generuje plik .klasa z kombinacją nazw stylów ClassExternal $ ClassNested.class, jeśli pójdziemy za przykładem na obrazku, nazwa będzie Test $ Nested.class.
2- A klasa zagnieżdżona Możesz używać i odwoływać się do atrybutów i metod klasy go zawierającej bez konieczności tworzenia nowej instancji, dzięki temu możemy nieco uprościć zawartość naszego programu, szczególnie podczas pracy z orientacja na wydarzenie, zobaczmy na poniższym obrazku, jak to się wyraża:

3- Ten klasa zagnieżdżona może podlegać modyfikatorom widoczności i przybierać ich cechy, dodatkowo może być również zadeklarowana jako statyczny, jednak jeśli zrobimy to drugie, będziemy mogli uzyskać dostęp tylko do metod statyczny klasy, która go zawiera.
4- Pomimo tego, że są to klasy zagnieżdżone, mogą to być instancje klas innych niż te, które je zawierają, w tym celu możesz użyć następującego formularza:
ExternalClass.NestedClassNestedClassObject = ExternalClassObject.newNested Class ();

W przypadku, gdy nasza klasa zagnieżdżona jest typu statyczny musimy wtedy użyć następującej formy:
Klasa zewnętrzna. NestedClass nestedClassObject = new OuterClass.NestedClass ();

Na tym kończymy ten samouczek, widzieliśmy, jak możemy wygenerować klasy zagnieżdżone a składnia związana z tą cechą języka, przydatność tego sposobu pracy polega na tym, że możemy łączyć klasy zależne w jedną dużą klasę, dzięki temu zmniejszamy ilość plików i także kod źródłowy, dzięki temu mamy większą kontrolę nad naszą aplikacją i ułatwiamy życie naszemu zespołowi programistycznemu, mając wszystko, co związane z tą samą klasą.

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave