Cum se implementează Clasa imbricată în Java?



Acest articol despre clasa imbricată în java vă va ajuta să înțelegeți cum să implementați clase imbricate cu ajutorul unui exemplu de program.

În Java, o clasă poate fi definită în cadrul altei clase și astfel de clase sunt cunoscute sub numele de clase imbricate. Aceste clase vă ajută să grupați în mod logic clasele care sunt utilizate doar într-un singur loc. Acest lucru crește utilizarea încapsulării și creează un cod mai lizibil și mai ușor de întreținut. Acest blog despre „Clasa imbricată în Java” vă va oferi o introducere rapidă la obiect a claselor imbricate în . Mai jos sunt subiectele tratate în acest blog:

Clasa imbricată în Java

clasă scris în cadrul unei clase se numește clasa imbricată în timp ce clasa care deține clasa interioară se numește clasa exterioară. Mai jos sunt câteva puncte de reținut pentru clasele imbricate în Java -





  • Domeniul de aplicare al unei clase imbricate este delimitat de clasa sa inclusă.
  • O clasă imbricată are acces la membrii clasei în care este imbricată. Dar, clasa inclusă nu poate accesa membrii clasei imbricate.
  • O clasă imbricată este membrul clasei care o include.
  • O clasă imbricată poate fi declarată publică, privată, protejată sau confidențială.

Tipuri de clase imbricate

Clasa imbricată interioară / nestatică: În Java, clasele nestatice sunt un mecanism de securitate. O clasă nu poate fi asociată cu acces la editare privat, dar dacă aveți clasa ca membru al altei clase, atunci clasa nestatică poate fi făcută privată.

diferența php între ecou și tipărire

Tipuri de clase interioare și minus



  • Clasa interioară
  • Metoda-Clasa interioară locală
  • Clasa interioară anonimă

Clasa interioară

Pentru a crea o clasă interioară trebuie doar să scrieți o clasă în cadrul unei clase. O clasă interioară poate fi privată, care nu poate fi accesată de la o obiect în afara clasei. Mai jos este un program pentru a crea o clasă interioară. În acest exemplu, clasa interioară este făcută privată și se accesează clasa printr-o metodă.

class Outer_Test {int num // inner class private class Inner_Test {public void print () {System.out.println ('This is an Our inner class')}} // Accesarea clasei interioare din metoda void display_Inner () { Inner_Test inner = new Inner_Test () inner.print ()}} public class My_class {public static void main (String args []) {// Instantierea clasei externe Outer_Test external = new Outer_Test () // Accesarea metodei display_Inner () . external.display_Inner ()}}

Ieșire
Clasa imbricată interioară - Edureka

Metoda-Clasa interioară locală

În Java, o clasă poate fi scrisă într-un și este de tip local. Similar cu variabilele locale, sfera unei clase interioare este restricționată în cadrul metodei. O metodă-clasă interioară locală este încorporată numai în cadrul metodei în care este definită clasa interioară. Programul de mai jos arată cum să utilizați o metodă - clasa interioară locală.



public class Outerclass {// metoda de instanță a clasei exterioare void my_Method () {int num = 1001 // method-local inner class class StarInner_Test {public void print () {System.out.println ('This is star inner class' + num)}} // sfârșitul clasei interioare // Accesarea clasei interioare StarInner_Test star = new StarInner_Test () star.print ()} public static void main (String args []) {Outerclass outer = new Outerclass () external. my_Method ()}}

Ieșire

citiți și scrieți fișier excel în java

Clasa interioară anonimă

Clasa interioară anonimă este o clasă interioară declarată fără un nume de clasă. Într-o clasă interioară anonimă, o declarăm și o instanțăm în același timp. Ele sunt utilizate în general atunci când trebuie să înlocuiți metoda unei clase sau a unei interfețe. Programul de mai jos arată cum să utilizați o clasă interioară anonimă -

abstract class AnonymousInnerTest {public abstract void mytest ()} public class Outer_class {public static void main (String args []) {AnonymousInnerTest inner = new AnonymousInnerTest () {public void mytest () {System.out.println ('Acesta este un exemplu de clasă de testare anonimă interioară ')}} inner.mytest ()}}

Ieșire-

Clasa imbricată statică: LA este o clasă imbricată care este un membru static al clasei exterioare. Spre deosebire de clasa interioară, clasa imbricată static nu poate accesa variabilele membre ale clasei externe, deoarece clasa imbricată statică nu necesită o instanță a clasei exterioare. Prin urmare, nu există nicio referire la clasa exterioară cu OuterClass.this. Sintaxa unei clase statice imbricate este -

clasa MyOuter {clasă statică Nested_Test {}}

Exemplu de clasă statică imbricată

public class Outer {static class Nested_Test {public void my_method () {System.out.println ('Aceasta este clasa de test imbricată a lui Edureka')}} public static void main (String args []) {Outer.Nested_Test nested = new Outer. Nested_Test () nested.my_method ()}}

Ieșire

Diferența dintre clasele imbricate statice și nestatice

Clasele statice imbricate nu au acces direct la ceilalți membri ai clasei de închidere. Fiind static, trebuie să acceseze membrii non-statici ai clasei sale de închidere printr-un obiect, ceea ce înseamnă că nu se poate referi direct la membrii nestatici ai clasei sale de închidere. Și datorită acestei restricții, clasele statice imbricate sunt rareori folosite.

utilizați python în studio vizual

Clasele imbricate nestatice au acces la toți membrii clasei sale externe și se pot referi la ele direct în același mod ca și ceilalți membri nestatici ai clasei exterioare.

Înainte de a ajunge la sfârșitul acestui articol, să ne uităm la câteva puncte cheie.

Puncte cheie de reținut

  • Clasa interioară este tratată ca un membru obișnuit al unei clase.
  • Deoarece clasa interioară este membră a clasei exterioare, puteți aplica diferiți modificatori de acces, cum ar fi protejat, privat la clasa interioară.
  • Întrucât clasa imbricată este un membru al clasei de anexare, puteți utiliza. notație (punct) pentru a accesa clasa imbricată și membrii acesteia.
  • Utilizarea unei clase imbricate face codul dvs. mai lizibil și oferă mai bine încapsularea .
  • Clasa interioară are acces la alți membri ai clasei exterioare, chiar dacă sunt declarați private.

Cu aceasta, ajungem la sfârșitul acestui blog despre clasele imbricate în Java. Dacă doriți să aflați mai multe despre Java, consultați de Edureka, o companie de învățare online de încredere, cu o rețea de peste 250.000 de elevi mulțumiți răspândiți pe tot globul. Cursul de formare și certificare Java J2EE și SOA al Edureka este conceput pentru studenți și profesioniști care doresc să fie dezvoltator Java. Cursul este conceput pentru a vă oferi un început avansat în programarea Java și pentru a vă instrui atât pentru conceptele Java de bază, cât și pentru cele avansate, împreună cu diverse cadre Java, cum ar fi Hibernate & Spring.

Ai o întrebare pentru noi? Vă rugăm să menționați acest lucru în secțiunea de comentarii a acestui blog „Clasa imbricată în Java” și vă vom contacta cât mai curând posibil.