Kako implementirati unutarnju klasu u Javi?



Unutarnja klasa u javi označava jednu klasu koja je član druge klase. Ovaj će vam članak pomoći da razotkrijete ovaj razred.

Unutarnja klasa u javi označava jednu klasu koja je član druge klase. U , postoje razne vrste unutarnjih klasa. Ovaj će vam članak pomoći da razotkrijete sve ove satove. Detaljno će se raspravljati o sljedećim uputama,

Pa krenimo s ovim člankom o Inner Class In Java,





Unutarnja klasa u Javi

Ugniježđena unutarnja klasa

Ova klasa ima pristup bilo kojoj vrijednosti privatne instance vanjske klase. Pisanje jedne klase u drugu klasu također je dopušteno na Javi. Klasa napisana unutar poznata je ugniježđena klasa, a klasa koja sadrži unutarnju klasu poznata je kao vanjska klasa.



Sintaksa

razred izvan mjesta {razred iznutra {}}

Primjer

U donjem primjeru, Unutarnju klasu činimo privatnom i pristupamo klasi uz pomoć metode.



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

Izlaz

Izlaz - Unutarnja klasa u Javi - Edureka

Ovdje je vanjsko mjesto vanjska klasa, a unutarnje mjesto unutarnja klasa.

Nastavljajući s ovim člankom o Inner Class u Javi,

Pristup privatnim članovima

Unutarnji razredi koriste se i za pristup privatnim članovima razreda. Pretpostavimo da postoji klasa koja ima privatne članove koji bi im mogli pristupiti. Sada napišite unutarnju klasu unutar klase i pristupite privatnim članovima iz metode unutar unutarnje klase.

Evo primjera,

class Outer_place {private int num = 162 class Inner_place {public int getNum () {System.out.println ('To je getnum metoda unutarnje klase:') return num}}} javna klasa My_class {public static void main (String args []) {Outer_place external = new Outer_place () Outer_place.Inner_place inner = external.new Inner_place () System.out.println (inner.getNum ())}}

Izlaz

preopterećenje funkcije c ++

Idemo dalje,

Metoda lokalne unutarnje nastave

U Javi možete napisati klasu unutar metode koja će biti poznata kao lokalni tip. Kao i sve lokalne varijable, opseg unutarnje klase ograničen je unutar metode.

Primjer

Sljedeći će primjer pokazati kako se implementira lokalna unutarnja klasa metode.

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

Izlaz

Nastavljajući s ovim člankom o Inner Class u Javi,

Anonimni Unutarnji razred

Svaka unutarnja klasa koja je deklarirana bez naziva klase naziva se anonimnom unutarnjom klasom. U slučaju anonimnih unutarnjih klasa, uspostavljamo ih i deklariramo istodobno.

Kad god želimo poništiti metodu klase ili sučelje, koristimo ovu klasu.

Sintaksa

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

Primjer

apstraktna klasa AnonymousInner {public abstract void mymethod ()} public class Outer_class {public static void main (String args []) {AnonymousInner inner = new AnonymousInner () {public void mymethod () {System.out.println ('primjer anonimne unutarnja klasa ')}} unutarnja.moja metoda ()}}

Izlaz

što je prostor imena u c ++-u

Nastavljajući s ovim člankom o Inner Class u Javi,

Kao argument anonimne unutarnje klase

U ovom slučaju, ako metoda prihvati objekt sučelja, apstraktne klase ili konkretne klase, tada smo u mogućnosti implementirati sučelje, proslijediti objekt metodi i proširiti apstraktnu klasu.

Sintaksa

obj. metoda (nova klasa () {public void do {}})

Primjer

// sučelje sučelja Poruka {String greet ()} javna klasa My_class {// objekt poruke sučelja prihvaćen je ovom metodom public void displayMessage (Message m) {System.out.println (m.greet () + ', primjer anonimna unutarnja klasa kao argument ')} public static void main (String args []) {// Instantiranje klase My_class obj = new My_class () // Prosljeđivanje anonimne unutarnje klase kao argumenta obj.displayMessage (nova poruka () {public Pozdrav niza () {povratak 'Hej'}})}}

Izlaz

Nastavljajući s ovim člankom o Inner Class u Javi,

Anonimna unutarnja klasa određene podklase

Izvorni kod

class Demo {void show () {System.out.println ('bio sam u show metodi klase')}} class Flavor1Demo {static Demo d = new Demo () {void show () {super.show () System. out.println ('bio sam prisutan u klasi Flavor1Demo')}} javna statička void glavna (String [] args) {d.show ()}}

Izlaz

instalirati php na Windows 7

Nastavljajući s ovim člankom o Inner Class u Javi,

Anonimna unutarnja klasa kao implementator navedenog Sučelje

Izvorni kod

klasa Flavor2Demo {// klasa koja implementira statičko sučelje Hello Hello h = new Hello () {public void show () {System.out.println ('bio sam prisutan u anonimnoj klasi')}} public static void main (String [] args) {h.show ()}} sučelje Pozdrav {void show ()}

Izlaz

Nastavljajući s ovim člankom o Inner Class u Javi,

Statični ugniježđeni razredi

Ovi razredi tehnički nisu poznati kao unutarnji razredi. Te su klase slične statičnom članu vanjske klase. Statična ugniježđena klasa nema pristup varijablama i metodama vanjske klase. Ne moramo instancirati vanjsku klasu, može joj se pristupiti izravno koristeći statičke članove.

Sintaksa

Vanjska klasa {Static class nested_example {}}

Primjer

javna klasa Outer {static class Nested_Example {public void my_method () {System.out.println ('To je ugniježđena klasa')}} public static void main (String args []) {Outer.Nested_Example ugniježđeno = new Outer.Nested_Example () ugniježđeno.my_method ()}}

Izlaz

Tako smo došli do kraja ovog članka. Ako želite saznati više,provjerite Edureka, pouzdane tvrtke za internetsko učenje. Edurekin tečaj za obuku i certificiranje Java J2EE i SOA osmišljen je kako bi vas osposobio za osnovne i napredne Java koncepte, zajedno s raznim Java okvirima poput Hibernate & Spring.

Imate pitanje za nas? Molimo navedite ga u odjeljku za komentare ovog članka i javit ćemo vam se što je prije moguće.