A Java, es pot definir una classe dins d’una altra classe i aquestes classes es coneixen com a classes imbricades. Aquestes classes us ajuden a agrupar lògicament classes que només s’utilitzen en un lloc. Això augmenta l'ús de l'encapsulació i crea un codi més llegible i mantenible. Aquest bloc sobre 'Classe imbricada a Java' us proporcionarà una introducció ràpida i detallada de les classes imbricades a . A continuació es detallen els temes tractats en aquest bloc:
- Classe imbricada a Java
- Tipus de classes imbricades
- Diferència entre les classes imbricades estàtiques i no estàtiques
- Punts clau per recordar
Classe imbricada a Java
El classe escrit dins d’una classe s’anomena classe imbricada mentre que la classe que conté la classe interna s’anomena classe externa. A continuació es mostren alguns punts que cal recordar per a les classes imbricades de Java:
- L'abast d'una classe imbricada està limitat per la seva classe adjunta.
- Una classe imbricada té accés als membres de la classe en què està imbricada. Però, la classe adjunta no pot accedir als membres de la classe imbricada.
- Una classe imbricada és el membre de la classe adjunta.
- Una classe imbricada es pot declarar pública, privada, protegida o paquet-privat.
Tipus de classes imbricades
Classe imbricada interior / no estàtica: A Java, les classes no estàtiques són un mecanisme de seguretat. No es pot associar una classe amb el accedir a l'edició privat, però si teniu la classe com a membre d'una altra classe, la classe no estàtica es pot convertir en privada.
com clonar objectes a Java
Tipus de classes internes i menys
- Classe interior
- Classe interna de mètode local
- Classe interna anònima
Classe interior
Per crear una classe interior només cal escriure una classe dins d’una classe. Una classe interior pot ser privada a la qual no es pot accedir des d'un objecte fora de la classe. A continuació es mostra un programa per crear una classe interior. En aquest exemple, la classe interna es fa privada i s'hi accedeix mitjançant un mètode.
class Outer_Test {int num // internal class private class Inner_Test {public void print () {System.out.println ('This is an Our inner class')}} // Accedint a la classe interna des del mètode void display_Inner () { Inner_Test inner = new Inner_Test () inner.print ()}} public class My_class {public static void main (String args []) {// Instanciar la classe externa Outer_Test external = new Outer_Test () // Accedir al mètode display_Inner () . outer.display_Inner ()}}
Sortida
Classe interna de mètode local
A Java, es pot escriure una classe dins d'un fitxer i és de tipus local. De manera similar a les variables locals, l'abast d'una classe interna està restringit dins del mètode. Una classe interna de mètode local només s’incorpora dins del mètode on es defineix la classe interna. El programa següent mostra com utilitzar un mètode-classe interna local.
public class Outerclass {// mètode de la instància de la classe externa void my_Method () {int num = 1001 // method-local inner class class StarInner_Test {public void print () {System.out.println ('This is star inner class' + num)}} // final de la classe interna // Accés a la classe interna StarInner_Test star = new StarInner_Test () star.print ()} public static void main (String args []) {Outerclass outer = new Outerclass () exterior. my_Method ()}}
Sortida
classes de python i exemples d'objectes
Classe interna anònima
La classe interior anònima és una classe interior declarada sense nom de classe. En una classe interior anònima, la declarem i la instanciem al mateix temps. Generalment s’utilitzen quan cal substituir el mètode d’una classe o una interfície. El programa següent mostra com utilitzar una classe interna anònima:
classe abstracta AnonymousInnerTest {public abstract void mytest ()} classe pública Outer_class {public static void main (String args []) {AnonymousInnerTest inner = new AnonymousInnerTest () {public void mytest () {System.out.println ('Aquesta és una exemple de classe de prova interna anònima ')}} inner.mytest ()}}
Sortida-
Classe imbricada estàtica: A és una classe imbricada que és un membre estàtic de la classe externa. A diferència de la classe interna, la classe imbricada estàtica no pot accedir a les variables membres de la classe externa perquè la classe imbricada estàtica no requereix una instància de la classe externa. Per tant, no hi ha cap referència a la classe externa amb OuterClass.this. La sintaxi d'una classe imbricada estàtica és -
classe MyOuter {classe estàtica Nested_Test {}}
Exemple de classe nidificada estàtica
public class Outer {classe estàtica Nested_Test {public void my_method () {System.out.println ('Aquesta és la classe de prova imbricada d'Edureka')}} public static void main (String args []) {Outer.Nested_Test nested = new Outer. Nested_Test () nested.my_method ()}}
Sortida
Diferència entre les classes imbricades estàtiques i no estàtiques
Les classes imbricades estàtiques no tenen accés directament a altres membres de la classe adjunta. En ser estàtic, ha d’accedir als membres no estàtics de la seva classe adjunta a través d’un objecte, cosa que significa que no pot referir-se directament als membres no estàtics de la seva classe adjunta. I a causa d’aquesta restricció, poques vegades s’utilitzen classes imbricades estàtiques.
com compilar programes Java
Les classes imbricades no estàtiques tenen accés a tots els membres de la seva classe externa i poden fer-hi referència directament de la mateixa manera que ho fan altres membres no estàtics de la classe externa.
Abans d’arribar al final d’aquest article, vegem alguns punts clau.
Punts clau per recordar
- La classe interior es tracta com un membre habitual d’una classe.
- Com que la classe interna és membre de la classe externa, podeu aplicar diferents modificadors d'accés, com ara protegits, privats a la vostra classe interna.
- Com que la classe Nested és membre de la classe adjunta, podeu utilitzar-la. (punt) de notació per accedir a la classe imbricada i als seus membres.
- L’ús d’una classe imbricada fa que el vostre codi sigui més llegible i que sigui millor encapsulació .
- La classe interna té accés a altres membres de la classe externa, encara que siguin declarats privats.
Amb això, arribem al final d’aquest bloc sobre classes imbricades a Java. Si voleu obtenir més informació sobre Java, consulteu el document per Edureka, una empresa d'aprenentatge en línia de confiança amb una xarxa de més de 250.000 estudiants satisfets repartits per tot el món. El curs de formació i certificació Java J2EE i SOA d’Edureka està dissenyat per a estudiants i professionals que vulguin ser desenvolupador de Java. El curs està dissenyat per donar-vos un avantatge en la programació de Java i formar-vos tant per conceptes bàsics com avançats de Java, juntament amb diversos marcs Java com Hibernate i Spring.
Tens alguna pregunta? Si us plau, mencioneu-lo a la secció de comentaris d’aquest bloc “Classe imbricada a Java” i us respondrem el més aviat possible.