Kako implementirati ugnezdeni razred v Javi?



Ta članek o ugnezdenem razredu v javi vam bo pomagal razumeti, kako implementirati ugnezdene razrede s pomočjo primera programa.

V Javi lahko razred določimo znotraj drugega razreda in so ti razredi znani kot ugnezdeni razredi. Ti razredi vam pomagajo logično razvrščati razrede, ki se uporabljajo samo na enem mestu. To poveča uporabo enkapsulacije in ustvari bolj berljivo in vzdrževalno kodo. Ta spletni dnevnik o 'ugnezdenem razredu v Javi' vam bo ponudil hiter in natančen uvod v ugnezdene razrede v . Spodaj so teme, zajete v tem blogu:

Vgnezden razred v Javi

The razred zapisano znotraj razreda, se imenuje ugnezdeni razred, razred, ki vsebuje notranji razred, pa zunanji. Spodaj je nekaj točk, ki si jih morate zapomniti za ugnezdene razrede v Javi -





  • Obseg ugnezdenega razreda je omejen z njegovim ogradnim razredom.
  • Vgnezden razred ima dostop do članov razreda, v katerem je ugnezden. Toda razred, ki ga obdaja, ne more dostopati do članov ugnezdenega razreda.
  • Vgnezdeni razred je njegov zaprt član razreda.
  • Vgnezden razred je mogoče razglasiti za javnega, zasebnega, zaščitenega ali zasebnega paketa.

Vrste ugnezdenih razredov

Notranji / nestatični ugnezdeni razred: V Javi so nestatični razredi varnostni mehanizem. Razreda ni mogoče povezati z dostop urejanje private, če pa imate razred kot član drugega razreda, potem lahko nestatični razred postane zaseben.

Vrste notranjih razredov & minus



  • Notranji razred
  • Metoda-lokalni notranji razred
  • Anonimni notranji razred

Notranji razred

Če želite ustvariti notranji razred, morate samo napisati razred znotraj razreda. Notranji razred je lahko zaseben in do njega ni mogoče dostopati predmet zunaj razreda. Spodaj je program za ustvarjanje notranjega razreda. V tem primeru je notranji razred postal zaseben in je do njega dostopen prek metode.

class Outer_Test {int num // notranji razred private class Inner_Test {public void print () {System.out.println ('To je naš notranji razred')}} // Dostop do notranjega razreda iz metode void display_Inner () { Inner_Test inner = new Inner_Test () inner.print ()}} javni razred My_class {public static void main (String args []) {// Instantiranje zunanjega razreda Outer_Test external = new Outer_Test () // Dostop do metode display_Inner () . external.display_Inner ()}}

Izhod
Notranji razred notranje- Edureka

Metoda-lokalni notranji razred

V Javi lahko razred zapisujete v in je lokalnega tipa. Podobno kot lokalne spremenljivke je tudi obseg notranjega razreda znotraj metode omejen. Lokalni notranji razred metode je vključen samo znotraj metode, kjer je definiran notranji razred. Spodnji program prikazuje uporabo notranjega razreda, ki temelji na metodi.



javni razred Outerclass {// metoda primera zunanjega razreda void my_Method () {int num = 1001 // metoda-lokalni razred notranjega razreda StarInner_Test {public void print () {System.out.println ('To je zvezdni notranji razred' + num)}} // konec notranjega razreda // Dostop do notranjega razreda StarInner_Test star = new StarInner_Test () star.print ()} public static void main (String args []) {Outerclass external = new Outerclass () external. moja_metoda ()}}

Izhod

Anonimni notranji razred

Anonimni notranji razred je notranji razred, razglašen brez imena razreda. V anonimnem notranjem razredu ga istočasno razglasimo in ustvarimo. Običajno se uporabljajo, kadar morate preglasiti metodo razreda ali vmesnika. Spodnji program prikazuje, kako uporabljati anonimni notranji razred -

abstraktni razred AnonymousInnerTest {public abstract void mytest ()} javni razred Outer_class {public static void main (String args []) {AnonymousInnerTest inner = new AnonymousInnerTest () {public void mytest () {System.out.println ('To je primer anonimnega razreda notranjega preskusa ')}} inner.mytest ()}}

Izhod-

Statični ugnezdeni razred: TO je ugnezdeni razred, ki je statični član zunanjega razreda. Za razliko od notranjega razreda statični ugnezdeni razred ne more dostopati do spremenljivk člana zunanjega razreda, ker statični ugnezdeni razred ne zahteva primerka zunanjega razreda. Zato z OuterClass.this ni nobenega sklica na zunanji razred. Sintaksa statičnega ugnezdenega razreda je -

razred MyOuter {statični razred Nested_Test {}}

Primer statičnega ugnezdenega razreda

javni razred Outer {static class Nested_Test {public void my_method () {System.out.println ('To je gnezdeni testni razred Edureka')}} public static void main (String args []) {Outer.Nested_Test ugnezdeni = nov zunanji. Vgnezdeni_Test () ugnezdeno.my_method ()}}

Izhod

Razlika med statičnimi in nestatičnimi ugnezdenimi razredi

Statični ugnezdeni razredi nimajo neposrednega dostopa do drugih članov zaprtega razreda. Ker je statičen, mora dostopati do nestatičnih članov svojega zaprtega razreda prek predmeta, kar pomeni, da se ne more neposredno sklicevati na nestatične člane svojega zaprtega razreda. In zaradi te omejitve se statični ugnezdeni razredi redko uporabljajo.

Nestatični ugnezdeni razredi imajo dostop do vseh članov njegovega zunanjega razreda in se nanje lahko sklicujejo neposredno na enak način kot drugi ne-statični člani zunanjega razreda.

Preden pridemo do konca tega članka, si oglejmo nekaj ključnih točk.

podatkovni okvir v selenovem spletnem pogonu

Ključne točke, ki si jih je treba zapomniti

  • Notranji razred se obravnava kot redni član predavanja.
  • Ker je notranji razred član zunanjega razreda, lahko za svoj notranji razred uporabite različne modifikatorje dostopa, na primer zaščiten, zaseben.
  • Ker je ugnezdeni razred član njegovega zaprtega razreda, lahko uporabite. (pika) zapis za dostop do ugnezdenega razreda in njegovih članov.
  • Z uporabo ugnezdenega razreda je vaša koda bolj berljiva in boljša inkapsulacija .
  • Notranji razred ima dostop do drugih članov zunanjega razreda, tudi če so razglašeni za zasebne.

S tem smo zaključili ta blog o ugnezdenih razredih v Javi. Če želite izvedeti več o Javi, si oglejte Edureka, zaupanja vredno podjetje za spletno učenje z mrežo več kot 250.000 zadovoljnih učencev, razširjenih po vsem svetu. Edurekin tečaj za usposabljanje in certificiranje Java J2EE in SOA je namenjen študentom in strokovnjakom, ki želijo biti razvijalec Java. Tečaj je zasnovan tako, da vam omogoči uvod v programiranje Java in vas usposobi za osnovne in napredne koncepte Java, skupaj z različnimi Java okviri, kot so Hibernate & Spring

Imate vprašanje za nas? Prosimo, omenite ga v oddelku za komentarje tega spletnega dnevnika »Vgnezdeni razred na Javi«, da se vam bomo javili v najkrajšem možnem času.