logo

Java-innerlijke klassen (geneste klassen)

  1. Java innerlijke klassen
  2. Voordeel van innerlijke klasse
  3. Verschil tussen geneste klasse en binnenklasse
  4. Typen geneste klassen

Java innerlijke klasse of geneste klasse is een klasse die binnen de klasse of interface wordt gedeclareerd.

bboom en bboom

We gebruiken innerlijke klassen om klassen en interfaces logisch op één plek te groeperen, zodat ze beter leesbaar en onderhoudbaar zijn.

Bovendien heeft het toegang tot alle leden van de buitenste klasse, inclusief privégegevensleden en methoden.

Syntaxis van innerlijke klasse

 class Java_Outer_class{ //code class Java_Inner_class{ //code } } 

Voordeel van Java-binnenklassen

Er zijn drie voordelen van innerlijke klassen in Java. Ze zijn als volgt:

  1. Geneste klassen vertegenwoordigen een bepaald type relatie het heeft toegang tot alle leden (dataleden en methoden) van de buitenste klasse, inclusief privé.
  2. Er wordt gebruik gemaakt van geneste klassen om beter leesbare en onderhoudbare code te ontwikkelen omdat het klassen en interfaces logisch op slechts één plek groepeert.
  3. Code-optimalisatie: Er is minder code nodig om te schrijven.

Behoefte aan Java Inner-klasse

Soms moeten gebruikers een klas zo programmeren dat geen enkele andere klas er toegang toe heeft. Daarom zou het beter zijn als u het in andere klassen opneemt.

Als alle klasseobjecten deel uitmaken van het buitenste object, is het gemakkelijker om die klasse binnen de buitenste klasse te nesten. Op die manier heeft de hele buitenste klasse toegang tot alle objecten van de binnenste klasse.

Ken jij
  • Wat is de interne code die door de compiler wordt gegenereerd voor de innerlijke klasse van leden?
  • Wat zijn de twee manieren om een ​​anonieme innerlijke klasse te creëren?
  • Hebben we toegang tot de niet-finale lokale variabele binnen de lokale binnenklasse?
  • Hoe krijg ik toegang tot de statische geneste klasse?
  • Kunnen we een interface binnen de klasse definiëren?
  • Kunnen we een klasse binnen de interface definiëren?

Verschil tussen geneste klasse en binnenklasse in Java

Een innerlijke klasse is een onderdeel van een geneste klasse. Niet-statische geneste klassen staan ​​bekend als binnenklassen.

Typen geneste klassen

Er zijn twee soorten geneste klassen: niet-statische en statisch geneste klassen. De niet-statische geneste klassen worden ook wel binnenklassen genoemd.

sql-clausules
  • Niet-statische geneste klasse (binnenklasse)
    1. Lid innerlijke klasse
    2. Anonieme innerlijke klasse
    3. Lokale innerlijke klasse
  • Statische geneste klasse
TypeBeschrijving
Lid innerlijke klasseEen klasse gemaakt binnen de klasse en buiten de methode.
Anonieme innerlijke klasse Een klasse die is gemaakt voor het implementeren van een interface of het uitbreiden van een klasse. De Java-compiler bepaalt de naam.
Lokale innerlijke klasseBinnen de methode is een klasse gemaakt.
Statische geneste klasseBinnen de klasse is een statische klasse gemaakt.
Geneste interfaceEen interface gemaakt binnen een klasse of interface.