Java zapewnia funkcję, która pozwala nam utworzyć klasę w innej klasie znanej jako klasa zagnieżdżona lub klasa wewnętrzna, a klasa posiadająca klasę wewnętrzną jest określana jako klasa zewnętrzna. Klasa wewnętrzna można określić w taki sam sposób, jak określamy dowolny inny atrybut lub metoda klasy.
W Javie nie możemy zadeklarować/utworzyć klasę za pomocą modyfikatora dostępu prywatny Aby do klasy można uzyskać w dowolnej innej klasie od wewnątrz lub na zewnątrz pakietu. Jednak, aby zapewnić bezpieczeństwo, musimy tworzyć prywatne zajęcia i aby to zrobić, możemy tworzyć wewnętrzne klasy z prywatny Modyfikatory dostępu.
Ten zapis zapewni kompleksowy przewodnik dla klas wewnętrznych w Javie i pod tym względem musimy zrozumieć następujące pojęcia:
Zacznijmy!
Co to jest klasa wewnętrzna w Javie
Klasa zadeklarowana/tworzona w niektórych innych klasach jest znana jako klasa wewnętrzna. Może uzyskać dostęp do wszystkich atrybutów klas i funkcji członków klasy zewnętrznej. Podstawowe cechy klas wewnętrznych obejmują zwiększone bezpieczeństwo, czytelność kodu i zachowanie.
Składnia
Podstawowa składnia klasy wewnętrznej jest opisana w fragmencie poniżej podanego:
klasa zewnętrzna klasaJak tworzyć i uzyskać dostęp do klasy wewnętrznej w Javie
Tworzenie klasy wewnętrznej jest bardzo proste, wszystko, co musimy zrobić, to stworzyć klasę w klasie. Aby uzyskać dostęp do klasy wewnętrznej, najpierw musimy utworzyć instancję/obiekt klasy zewnętrznej, a następnie możemy utworzyć obiekt klasy wewnętrznej/zagnieżdżonej.
Przykład
Powyższy fragment pokazuje, jak działa klasa wewnętrzna w Javie.
Jak uzyskać dostęp do atrybutów/metod klasy zewnętrznej
Klasa wewnętrzna może uzyskać dostęp do atrybutów klasy lub funkcji członka klasy zewnętrznej, następujący przykład zapewni lepsze zrozumienie:
Przykład
Poniżej uzyskany kod kodowy dostęp do Nazwa 1 Atrybut klasy zewnętrznej z klasy wewnętrznej:
klasa zewnętrznaKompletny kod i jego wyjście są pokazane na poniższym fragmencie:
Wyjście uwierzytelnia, że klasa wewnętrzna z powodzeniem uzyskuje dostęp do atrybutu klasowego klasy zewnętrznej.
Prywatna klasa wewnętrzna w Javie
W Javie zwykła klasa nie może być utworzona za pomocą prywatny Jednak modyfikator dostępu można jednak utworzyć klasę wewnętrzną z prywatnym dostępem, a obiekty poza klasą nie mogą uzyskać dostępu do prywatnej klasy wewnętrznej.
Przykład
Jeśli ktoś próbuje uzyskać dostęp do prywatnej klasy wewnętrznej, Java rzuci błąd:
klasa zewnętrznaCały kod jest taki sam, z wyjątkiem modyfikatora dostępu do klasy wewnętrznej:
Powyższy fragment sprawdza, czy klasa zewnętrzna nie jest w stanie uzyskać dostępu do klasy wewnętrznej.
Statyczna klasa wewnętrzna w Javie
Klasa wewnętrzna można również utworzyć za pomocą statycznego modyfikatora dostępu, a korzyścią z statycznej klasy wewnętrznej jest to, że nie ma potrzeby tworzenia obiektu zewnętrzny klasa do tworzenia obiektu Statyczna klasa wewnętrzna.
Instancję/obiekt klasy statycznej można utworzyć za pomocą następującej składni:
Klasa zewnętrzna.Wewnętrzna klasa obj = nowa klasa zewnętrzna.Innerclass ();Przykład
klasa zewnętrznaPełny kod i odpowiednie wyjście będą tak:
A statyczny Klasa wewnętrzna nie jest w stanie uzyskać dostępu do atrybutów klasy lub metod klasy zewnętrznej:
Powyższy fragment kodu weryfikuje, że statyczna klasa wewnętrzna nie może uzyskać dostępu do członka klasy zewnętrznej.
Wniosek
W Javie klasa może być utworzona w innej klasie określonej jako klasa wewnętrzna i aby utworzyć klasę wewnętrzną Najpierw musimy utworzyć instancję/obiekt klasy zewnętrznej, a następnie możemy utworzyć obiekt klasy wewnętrznej. A prywatna klasa wewnętrzna można również utworzyć w Javie i nie można go uzyskać z klasy zewnętrznej. Ponadto w Statyczna klasa wewnętrzna, nie ma potrzeby tworzenia obiektu zewnętrzny klasa, aby uzyskać dostęp do wewnętrznej klasy statycznej i nie może uzyskać dostępu do członków klasy zewnętrznej klasy.