Com implementar la classe interna a Java?



Una classe interna en java significa una classe que és membre d’una altra classe. Aquest article us ajudarà a desfer aquesta classe.

Una classe interna en java significa una classe que és membre d’una altra classe. En , hi ha diversos tipus de classes interiors. Aquest article us ajudarà a desfer totes aquestes classes. Es discutiran detalladament les següents indicacions,

Comencem, doncs, amb aquest article de classe interna en Java,





Classe interior a Java

Classe interior imbricada

Aquesta classe té accés a qualsevol valor d’instància privada de la classe externa. També es permet escriure una classe dins d’una altra classe a Java. La classe escrita dins es coneix com a classe imbricada i la classe que conté la classe interna es coneix com a classe externa.



Sintaxi

class outsideplace {class innerplace {}}

Exemple

java diferència entre hashmap i hashtable

A l'exemple que es mostra a continuació, fem que la classe interior sigui privada i accedim a la classe amb l'ajut del mètode.



class Outer_place {int num private class Inner_place {public void print () {System.out.println ('És una classe interna')}} void display_Inner () {Inner_place inner = new Inner_place () inner.print ()}} classe pública My_class {public static void main (String args []) {Outer_place outer = new Outer_place () outer.display_Inner ()}}

Sortida

Sortida - Classe interna a Java - Edureka

Aquí, el lloc exterior és la classe exterior i el lloc interior s’anomena classe interior.

Continuem amb aquest article de classe interna en Java,

Accés a membres privats

Les classes interiors també s’utilitzen per accedir als membres privats de la classe. Suposem que hi ha una classe que tingui membres privats per accedir-hi. Ara escriviu una classe interior dins de la classe i accediu als membres privats des d’un mètode dins de la classe interna.

Aquí teniu l'exemple,

class Outer_place {private int num = 162 class Inner_place {public int getNum () {System.out.println ('És un mètode getnum de classe interna:') return num}}} classe pública 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 ())}}

Sortida

Seguint,

Mètode de classes interiors locals

A Java, podeu escriure una classe dins del mètode que es coneixerà com a tipus local. Com totes les variables locals, l'abast de la classe interna està restringit dins d'un mètode.

Exemple

navegador db per revisar sqlite

L'exemple següent mostrarà com s'implementa un mètode de classe interna local.

public class Outerplace {void my_Method () {int num = 45 class MethodInner_place {public void print () {System.out.println ('mètode per a classes internes' + num)}} MethodInner_place inner = new MethodInner_place () inner.print ( )} public static void main (String args []) {Outerplace outer = new Outerplace () outer.my_Method ()}}

Sortida

Continuem amb aquest article de classe interna en Java,

Classe interior anònima

Qualsevol classe interna que es declara sense el nom de classe s'anomena classe interna anònima. En el cas de classes interiors anònimes, l’instanciem i la declarem alhora.

Sempre que volem anul·lar el mètode de classe o una interfície, fem servir aquesta classe.

Sintaxi

AnonymousInner obj1 = nou AnonymousInner () {mètode de buit públic () {}}

Exemple

classe abstracta 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 ('exemple d'anònim classe interior ')}} inner.mymethod ()}}

Sortida

Continuem amb aquest article de classe interna en Java,

Com a argument de classe interna anònima

En això, si un mètode accepta l'objecte de la interfície, d'una classe abstracta o de la classe concreta, llavors podem implementar la interfície, passar l'objecte al mètode i ampliar la classe abstracta.

Sintaxi

obj. mètode (nova classe () {public void do {}})

Exemple

// interfície d’interfície Missatge {String greet ()} classe pública My_class {// s’accepta l’objecte del missatge d’interfície mitjançant aquest mètode public void displayMessage (Missatge m) {System.out.println (m.greet () + ', exemple de classe interior anònima com a argument ')} public static void main (String args []) {// Instanciació de la classe My_class obj = new My_class () // Passant la classe interna anònima com a argument obj.displayMessage (missatge nou () {public String greet () {return 'Hey'}})}}}

Sortida

Continuem amb aquest article de classe interna en Java,

Classe interna anònima d'una subclasse especificada

Codi font

classe Demo {void show () {System.out.println ('I was in show method of class')}} class Flavor1Demo {Demo static d = Demo new () {void show () {super.show () System. out.println ('he estat present a la classe Flavor1Demo')}} public static void main (String [] args) {d.show ()}}

Sortida

Continuem amb aquest article de classe interna en Java,

Classe interna anònima com a implementador de Specified Interfície

Codi font

classe Flavor2Demo {// classe que implementa la interfície estàtica de Hello Hello h = new Hello () {public void show () {System.out.println ('I was present in anonymous class')}} public static void main (String [] args) interfície {h.show ()}} Hola {void show ()}

Sortida

Continuem amb aquest article de classe interna en Java,

Classes imbricades estàtiques

Aquestes classes no es coneixen tècnicament com a classes internes. Aquestes classes són similars al membre estàtic de la classe externa. Una classe imbricada estàtica no té accés a les variables i mètodes de la classe externa. No necessitem instanciar la classe externa, s’hi pot accedir directament mitjançant els membres estàtics.

Sintaxi

fusionar ordenar en c ++
Classe externa {Classe estàtica nested_example {}}

Exemple

public class Outer {classe estàtica Nested_Example {public void my_method () {System.out.println ('És la classe imbricada')}} public static void main (String args []) {Outer.Nested_Example nested = new Outer.Nested_Example () nested.my_method ()}}

Sortida

Així hem arribat al final d’aquest article. Si voleu obtenir més informació,fes un cop d'ull al per Edureka, una empresa d’aprenentatge en línia de confiança. El curs de formació i certificació Java J2EE i SOA d’Edureka està dissenyat per formar-vos tant per a conceptes bàsics com avançats de Java, juntament amb diversos marcs Java com Hibernate & Spring

Tens alguna pregunta? Si us plau, mencioneu-lo a la secció de comentaris d’aquest article i us respondrem el més aviat possible.