Clase născute și interne în java

O clasă interioară este o clasă care este membră a unei alte clase. Există patru tipuri de bază de clase interne în Java:

Clase interioare născute (clase interioare imbricate)







Categoriile statice Nestate sau Membru al clasei exterioare (clase statice imbricate)

Metode locale Clase interioare (clase interne în metoda locală)

Cursuri anonime (clase anonime)

1. Clasele interioare născute

O clasă interioară imbricată poate accesa orice domeniu privat sau o metodă de instanță a unei clase externe. O clasă interioară imbricată poate avea orice modificator de acces (pachet privat, pachet privat, protejat, public). Ca și clase, interfețele pot fi imbricate și au modificatori de acces.

Următorul exemplu demonstrează utilizarea unei clase interioare imbricate:

Motivul principal pentru care este necesar să se declare o variabilă locală ca un final este că variabilele locale trăiesc pe stiva, atâta timp cât metoda este pe stivă. Și în cazul utilizării unei clase interne poate fi o situație în care poate fi necesară o instanță a unei vieți interne de clasă pe heap și după părăsirea metoda, dar pentru a avea acces la variabila declarată în metoda. Pentru a face acest lucru, compilatorul poate salva o copie a unei variabile locale, care este declarat ca finală în domeniul de clasă internă pentru o utilizare viitoare.

Clasa interioară din metoda locală nu poate fi marcată privată. protejat. statice și tranzitorii. dar pot fi marcate ca fiind abstracte și finale. dar nu și pe ambele în același timp.

4. Clasele anonime interne

Clasele interne anonime sunt declarate fără a specifica numele clasei. Ele pot fi create în două moduri:

  1. Ca moștenitor al unei anumite clase

În codul de mai sus, creăm un obiect al unei clase interioare anonime, dar această clasă anonimă interioară este implementarea interfeței Hello.

Orice clasă internă anonimă poate implementa o singură interfață la un moment dat. De asemenea, la un moment dat puteți fie să extindeți clasa, fie să implementați interfața, dar nu simultan.







Cod de probă din articol:

Exemple de cod de la traducator:

Mai multe de pe site-ul meu

  • Clase născute și interne în java
    Webinar "Cum să scrieți o recursivitate pentru a nu rasteriza și pentru a găsi un ac chiar și într-o carpa de fân"
  • Clase născute și interne în java
    Webinar "Utilizarea API-ului Stream pentru lucrul cu colecțiile"
  • Clase născute și interne în java
    Optimizarea sortare inserare în Java
  • Clase născute și interne în java
    Webinar "De la idee la prototip pentru 1 oră"
  • Clase născute și interne în java
    Webinar "Java-arcade: avem de-a face cu matrice în Java. Cele mai bune practici. "
  • Clase născute și interne în java
    Webinar "Tot ce ați vrut să știți despre lambda în Java, dar v-ați fost frică să întrebați. Extended Edition. "

exemple bine scrise și foarte ușor de înțeles

Mulțumesc, lucruri bune.
Scrie mai mult!

Webinar «Cadrul colecțiilor Java sub microscop»

Găsește fără un cronometru pentru un minim de curse cei mai rapizi cai dintre cei 25

Clase născute și interne în java

Clase născute și interne în java

Clase născute și interne în java

Subiecte interesante







Articole similare

Trimiteți-le prietenilor: