Kako implementirati notranji razred v Javo?



Notranji razred v javi pomeni en razred, ki je član drugega razreda. Ta članek vam bo pomagal razvozlati ta razred.

Notranji razred v javi pomeni en razred, ki je član drugega razreda. V , obstajajo različne vrste notranjih razredov. Ta članek vam bo pomagal razvozlati vse te razrede. Naslednji napotki bodo podrobno obravnavani,

Začnimo s tem člankom o notranjem razredu v Javi,





Notranji razred v Javi

Vgnezden notranji razred

Ta razred ima dostop do katere koli vrednosti zasebnega primerka zunanjega razreda. Pisanje enega razreda v drug razred je dovoljeno tudi v Javi. Razred, zapisan znotraj, je znan ugnezdeni razred, razred, ki vsebuje notranji razred, pa je znan kot zunanji razred.



Sintaksa

razred zunanje mesto {razred notranje mesto {}}

Primer

V spodnjem primeru naredimo notranji razred zasebnim in do njega dostopamo s pomočjo metode.



class Outer_place {int num private class Inner_place {public void print () {System.out.println ('To je notranji razred')}} void display_Inner () {Inner_place inner = new Inner_place () inner.print ()}} javni razred My_class {public static void main (String args []) {Outer_place external = new Outer_place () external.display_Inner ()}}

Izhod

Izhod - notranji razred v Javi - Edureka

Tu je zunanji prostor zunanji razred, notranji pa notranji razred.

Nadaljujemo s tem člankom o notranjem razredu v Javi,

Dostop do zasebnih članov

Notranji razredi se uporabljajo tudi za dostop do zasebnih članov razreda. Recimo, da obstaja razred z zasebnimi člani, ki lahko dostopajo do njih. Zdaj znotraj razreda napišite notranji razred in dostopite do zasebnih članov iz metode znotraj notranjega razreda.

Tu je primer,

class Outer_place {private int num = 162 class Inner_place {public int getNum () {System.out.println ('To je getnum metoda notranjega razreda:') return num}}} javni razred My_class {public static void main (String args []) {Zunanje_mesto zunanje = novo Zunanje_mesto () Zunanje_mesto.Inner_place notranje = zunanje.nove Inner_place () System.out.println (inner.getNum ())}}

Izhod

Iti naprej,

Metoda lokalnih notranjih razredov

V Javi lahko v metodo napišete razred, ki bo znan kot lokalni tip. Kot vse lokalne spremenljivke je tudi obseg notranjega razreda znotraj metode omejen.

Primer

Naslednji primer bo pokazal, kako je implementiran lokalni notranji razred metode.

javni razred Outerplace {void my_Method () {int num = 45 class MethodInner_place {public void print () {System.out.println ('metoda za notranje razrede' + num)}} MethodInner_place inner = new MethodInner_place () inner.print ( )} public static void main (String args []) {Outerplace external = new Outerplace () external.my_Method ()}}

Izhod

primerek java razreda

Nadaljujemo s tem člankom o notranjem razredu v Javi,

Anonimni notranji razred

Vsak notranji razred, ki je razglašen brez imena razreda, se imenuje anonimni notranji razred. V primeru anonimnih notranjih razredov ga istočasno izdelamo in prijavimo.

Kadar želimo preglasiti metodo razreda ali vmesnik, uporabimo ta razred.

Sintaksa

AnonymousInner obj1 = new AnonymousInner () {javna void metoda () {}}

Primer

abstraktni razred AnonymousInner {public abstract void mymethod ()} javni razred Outer_class {public static void main (String args []) {AnonymousInner inner = new AnonymousInner () {public void mymethod () {System.out.println ('primer anonimke notranji razred ')}} inner.mymethod ()}}

Izhod

Nadaljujemo s tem člankom o notranjem razredu v Javi,

Kot argument anonimnega notranjega razreda

V tem primeru, če metoda sprejme objekt vmesnika, abstraktni razred ali konkretni razred, potem lahko vmesnik izvedemo, objekt prenesemo v metodo in razširimo abstraktni razred.

Sintaksa

obj. metoda (nov razred () {public void do {}})

Primer

// vmesnik vmesnika Sporočilo {String greet ()} javni razred My_class {// predmet vmesnika sporočilo sprejema ta metoda public void displayMessage (Message m) {System.out.println (m.greet () + ', primer anonimni notranji razred kot argument ')} public static void main (String args []) {// Instantiranje razreda My_class obj = new My_class () // Prenos anonimnega notranjega razreda kot argumenta obj.displayMessage (novo sporočilo () {public String pozdravi () {vrni 'Hej'}})}}

Izhod

Nadaljujemo s tem člankom o notranjem razredu v Javi,

Anonimni notranji razred določenega podrazreda

Izvorna koda

class Demo {void show () {System.out.println ('bil sem v razstavni metodi razreda')}} class Flavor1Demo {static Demo d = new Demo () {void show () {super.show () System. out.println ('bil sem prisoten v razredu Flavor1Demo')}} public static void main (String [] args) {d.show ()}}

Izhod

Nadaljujemo s tem člankom o notranjem razredu v Javi,

Anonimni notranji razred kot izvajalec določenega Vmesnik

Izvorna koda

class Flavor2Demo {// razred, ki izvaja statični vmesnik Hello Hello h = new Hello () {public void show () {System.out.println ('bil sem prisoten v anonimnem razredu')}} public static void main (String [] args) {h.show ()}} vmesnik Pozdravljeni {void show ()}

Izhod

Nadaljujemo s tem člankom o notranjem razredu v Javi,

Statični ugnezdeni razredi

Ti razredi tehnično niso znani kot notranji razredi. Ti razredi so podobni statičnemu članu zunanjega razreda. Statični ugnezdeni razred nima dostopa do spremenljivk in metod zunanjega razreda. Zunanjega razreda nam ni treba instantirati, do njega je mogoče dostopati neposredno s statičnimi člani.

Sintaksa

Zunanji razred {Static class nested_example {}}

Primer

javni razred Outer {static class Nested_Example {public void my_method () {System.out.println ('To je ugnezdeni razred')}} public static void main (String args []) {Outer.Nested_Example ugnezden = new Outer.Nested_Example () ugnezdena.my_method ()}}

Izhod

Tako smo prišli do konca tega članka. Če želite izvedeti več,preverite Edureka, zaupanja vredno podjetje za spletno učenje. Edurekin tečaj za usposabljanje in certificiranje Java J2EE in SOA je zasnovan tako, da vas usposobi za temeljne in napredne koncepte Java, skupaj z različnimi Java okviri, kot sta Hibernate & Spring.

Imate vprašanje za nas? Prosimo, omenite ga v oddelku za komentarje tega članka in odgovorili vam bomo v najkrajšem možnem času.