Sådan implementeres den indre klasse i Java?



Indre klasse i java betyder en klasse, der er medlem af en anden klasse. Denne artikel hjælper dig med at opklare denne klasse.

Indre klasse i java betyder en klasse, der er medlem af en anden klasse. I , der er forskellige typer indre klasser. Denne artikel hjælper dig med at løse alle disse klasser. Følgende punkter vil blive diskuteret detaljeret,

Så lad os komme i gang med denne artikel om indre klasse i Java,





Indre klasse i Java

Indlejret indre klasse

Denne klasse har adgang til enhver privat instansværdi af den ydre klasse. At skrive en klasse inden for en anden klasse er også tilladt i Java. Klassen, der er skrevet inden for, er kendt indlejret klasse, og den klasse, der holder den indre klasse, er kendt som ydre klasse.



Syntaks

klasse ydre sted {klasse indre sted {}}

Eksempel

I eksemplet nedenfor giver vi den indre klasse privat og får adgang til klassen ved hjælp af metoden.



klasse Outer_place {int num private class Inner_place {public void print () {System.out.println ('It is an inner class')}} void display_Inner () {Inner_place inner = new Inner_place () inner.print ()}} offentlig klasse My_class {public static void main (String args []) {Outer_place outer = new Outer_place () outer.display_Inner ()}}

Produktion

Output - indre klasse i Java - Edureka

Her er Ydre sted den ydre klasse og Indre sted kaldes den indre klasse.

datatyper i mysql med eksempler

Fortsætter med denne artikel om indre klasse i Java,

Adgang til private medlemmer

Indre klasser bruges også til at få adgang til de private medlemmer af klassen. Antag at der er en klasse med private medlemmer til at få adgang til dem. Skriv nu en indre klasse inden for klassen, og få adgang til de private medlemmer fra en metode inden for den indre klasse.

Her er eksemplet,

klasse Outer_place {private int num = 162 klasse Inner_place {public int getNum () {System.out.println ('Det er en getnum metode til indre klasse:') return num}}} public class My_class {public static void main (String args []) {Outer_place outer = new Outer_place () Outer_place.Inner_place inner = outer.new Inner_place () System.out.println (inner.getNum ())}}

Produktion

Komme videre,

Metode til lokale indre klasser

I Java kan du skrive en klasse inden for metoden, og den vil blive kendt som lokal type. Som alle de lokale variabler er omfanget af den indre klasse begrænset inden for en metode.

Eksempel

Det følgende eksempel viser, hvordan en metode lokal indre klasse implementeres.

public class Outerplace {void my_Method () {int num = 45 class MethodInner_place {public void print () {System.out.println ('metode til indre klasser' + num)}} MethodInner_place inner = new MethodInner_place () inner.print ( )} offentlig statisk ugyldig hoved (String args []) {Outerplace outer = new Outerplace () outer.my_Method ()}}

Produktion

Fortsætter med denne artikel om indre klasse i Java,

Anonym indre klasse

Enhver indre klasse, der erklæres uden klassenavnet kaldes anonym indre klasse. I tilfælde af anonyme indre klasser instantierer og erklærer vi det på samme tid.

Når vi vil tilsidesætte metoden til klasse eller en grænseflade, bruger vi denne klasse.

Syntaks

AnonymousInner obj1 = ny AnonymousInner () {offentlig ugyldig metode () {}}

Eksempel

abstrakt klasse AnonymousInner {offentlig abstrakt ugyldig mymethod ()} offentlig klasse Outer_class {offentlig statisk ugyldig main (String args []) {AnonymousInner indre = ny AnonymousInner () {offentlig ugyldig mymethod () {System.out.println ('eksempel på anonym indre klasse ')}} inner.mymethod ()}}

Produktion

Fortsætter med denne artikel om indre klasse i Java,

Som argument for anonym indre klasse

I dette, hvis en metode accepterer objektet for grænsefladen, en abstrakt klasse eller den konkrete klasse, så er vi i stand til at implementere grænsefladen, videregive objektet til metoden og udvide den abstrakte klasse.

Syntaks

obj. metode (ny klasse () {public void do {}})

Eksempel

// interface interface Message {String greet ()} public class My_class {// object of interface message accepteres ved denne metode public void displayMessage (Message m) {System.out.println (m.greet () + ', eksempel på anonym indre klasse som argument ')} offentlig statisk ugyldig hoved (String args []) {// Instantiering af klasse My_class obj = new My_class () // Videregivelse af den anonyme indre klasse som argument obj.displayMessage (new Message () {public Stringhilsen () {return 'Hey'}})}}

Produktion

Fortsætter med denne artikel om indre klasse i Java,

Anonym indre klasse af en specificeret underklasse

Kildekode

klasse Demo {void show () {System.out.println ('Jeg var i showmetode for klasse')}} klasse Flavor1Demo {statisk Demo d = ny Demo () {ugyldig show () {super.show () System. out.println ('Jeg var til stede i Flavor1Demo klasse')}} offentlig statisk ugyldig hoved (String [] args) {d.show ()}}

Produktion

Fortsætter med denne artikel om indre klasse i Java,

Anonym indre klasse som implementering af specificeret Interface

Kildekode

klasse Flavour2Demo {// klasse, der implementerer Hej grænseflade statisk Hej h = ny Hej () {offentlig ugyldig vis () {System.out.println ('Jeg var til stede i anonym klasse')}} offentlig statisk ugyldig hoved (String [] args) {h.show ()}} interface Hej {ugyldigt show ()}

Produktion

Fortsætter med denne artikel om indre klasse i Java,

Statisk indlejrede klasser

Disse klasser er ikke teknisk kendt som indre klasser. Disse klasser ligner det statiske medlem af den ydre klasse. En statisk indlejret klasse har ikke adgang til de ydre klasses variabler og metoder. Vi behøver ikke at instantiere den ydre klasse, den kan tilgås direkte ved hjælp af de statiske medlemmer.

Syntaks

Klasse ydre {Statisk klasse nestet_eksempel {}}

Eksempel

public class Outer {static class Nested_Example {public void my_method () {System.out.println ('Det er den indlejrede klasse')}} public static ugyldig main (String args []) {Outer.Nested_Example nested = new Outer.Nested_Example () nested.my_method ()}}

Produktion

Således er vi nået til slutningen af ​​denne artikel. Hvis du ønsker at lære mere,tjek af Edureka, et pålideligt online læringsfirma. Edurekas Java J2EE- og SOA-uddannelses- og certificeringskursus er designet til at træne dig til både kerne- og avancerede Java-koncepter sammen med forskellige Java-rammer som Hibernate & Spring.

Har du et spørgsmål til os? Nævn det i kommentarfeltet i denne artikel, og vi vender tilbage til dig hurtigst muligt.