Hvordan implementere indre klasse i Java?



Indre klasse i java betyr en klasse som er medlem av en annen klasse. Denne artikkelen vil hjelpe deg med å løse opp denne klassen.

Indre klasse i java betyr en klasse som er medlem av en annen klasse. I , det er forskjellige typer indre klasser. Denne artikkelen vil hjelpe deg med å løse opp alle disse klassene. Følgende tips vil bli diskutert i detalj,

Så la oss komme i gang med denne Inner Class In Java-artikkelen,





Indre klasse i Java

Nestet indre klasse

Denne klassen har tilgang til en hvilken som helst privat forekomstverdi for den ytre klassen. Å skrive en klasse i en annen klasse er også tillatt i Java. Klassen skrevet innen er kjent nestet klasse og klassen som holder den indre klassen er kjent som ytre klasse.



Syntaks

klasse ytre sted {klasse indre sted {}}

Eksempel

I eksemplet nedenfor, gjør vi den indre klassen privat og får tilgang til klassen ved hjelp av 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 ()}} public class My_class {public static void main (String args []) {Outer_place outer = new Outer_place () outer.display_Inner ()}}

Produksjon

Output - indre klasse i Java - Edureka

Her er Ytre sted ytre klasse og Indre sted kalles indre klasse.

Fortsetter med denne Inner Class In Java-artikkelen,

oppslagstransformasjon i informatica eksempel

Tilgang til private medlemmer

Indre klasser brukes også til å få tilgang til de private medlemmene i klassen. Anta at det er en klasse som har private medlemmer for å få tilgang til dem. Skriv nå en indre klasse i klassen og få tilgang til de private medlemmene fra en metode i den indre klassen.

Her er eksemplet,

klasse Outer_place {private int num = 162 class Inner_place {public int getNum () {System.out.println ('It is a getnum method of inner class:') 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 ())}}

Produksjon

Går videre,

Metode for lokale indre klasser

I Java kan du skrive en klasse innenfor metoden, og den vil bli kjent som lokal type. Som alle lokale variabler er omfanget av indre klasse begrenset innenfor en metode.

Eksempel

Følgende eksempel vil vise hvordan en metode lokal indre klasse implementeres.

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

Produksjon

Fortsetter med denne Inner Class In Java-artikkelen,

Anonym indre klasse

Enhver indre klasse som blir erklært uten klassenavnet kalles anonym indre klasse. Når det gjelder anonyme indre klasser, instantierer og erklærer vi det samtidig.

Når vi vil overstyre metoden for klasse eller et grensesnitt, bruker vi denne klassen.

Syntaks

AnonymousInner obj1 = ny AnonymousInner () {public void method () {}}

Eksempel

abstrakt klasse 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 ('eksempel på anonym indre klasse ')}} indre.metode ()}}

Produksjon

forutsetninger for kunstig intelligens kurs

Fortsetter med denne Inner Class In Java-artikkelen,

Som argument for anonym indre klasse

I dette, Hvis en metode aksepterer objektet til grensesnittet, en abstrakt klasse eller den konkrete klassen, så er vi i stand til å implementere grensesnittet, overføre objektet til metoden og utvide den abstrakte klassen.

Syntaks

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

Eksempel

// interface interface Message {String greet ()} public class My_class {// objekt av grensesnittmelding aksepteres av denne metoden public void displayMessage (Message m) {System.out.println (m.greet () + ', eksempel på anonym indre klasse som argument ')} offentlig statisk ugyldig hoved (String args []) {// Instantiating of class My_class obj = new My_class () // Passing the anonym inner class as argument obj.displayMessage (new Message () {public Stringhilsen () {return 'Hei'}})}}

Produksjon

Fortsetter med denne Inner Class In Java-artikkelen,

Anonym indre klasse av en spesifisert underklasse

Kildekode

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

Produksjon

Fortsetter med denne Inner Class In Java-artikkelen,

Anonym indre klasse som en implementering av spesifisert Grensesnitt

Kildekode

klasse Flavour2Demo {// klasse som implementerer Hello interface static Hello h = new Hello () {public void show () {System.out.println ('Jeg var til stede i anonym klasse')}} public static void main (String [] args) {h.show ()}} grensesnitt Hello {void show ()}

Produksjon

Fortsetter med denne Inner Class In Java-artikkelen,

Statisk nestede klasser

Disse klassene er ikke teknisk kjent som indre klasser. Disse klassene ligner på det statiske medlemmet av den ytre klassen. En statisk nestet klasse har ikke tilgang til variablene og metodene til ytre klasse. Vi trenger ikke å instansiere den ytre klassen. Den er tilgjengelig direkte ved hjelp av de statiske medlemmene.

Syntaks

Klassens ytre {Statisk klasse nestet_eksempel {}}

Eksempel

public class Outer {static class Nested_Example {public void my_method () {System.out.println ('It is the nested class')}} public static void main (String args []) {Outer.Nested_Example nested = new Outer.Nested_Example () nestet.my_method ()}}

Produksjon

Dermed har vi kommet til en slutt på denne artikkelen. Hvis du ønsker å lære mer,sjekk ut av Edureka, et pålitelig online læringsfirma. Edurekas Java J2EE- og SOA-opplærings- og sertifiseringskurs er designet for å trene deg for både kjerne- og avanserte Java-konsepter sammen med forskjellige Java-rammer som Hibernate & Spring.

Har du spørsmål til oss? Vennligst nevn det i kommentarfeltet i denne artikkelen, og vi vil kontakte deg så snart som mulig.