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,
- Ugniježđena Unutarnja klasa
- Metoda Lokalni unutarnji časovi
- Anonimni unutarnji časovi
- Statične ugniježđene klase
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
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.