A simple uso de clase Java interna

Paquete InnerClass;
 / ** 
 * Características 
 * 1: Mayor encapsulación, por la clase interna oculta dentro de la clase externa, de manera que otras clases no se puede acceder fuera de la clase. 
 * 2: capacidad de mantenimiento mejorado. 
 * 3: La clase interna puede acceder a los miembros externos. 
 * @Author administrador 
 * 
 * / 
clase InnerClassDemo { 
    string cadena = "fuera" ;
     estática   str1: String = "estática" ;
     pública  estática  vacío outstaticStr () { 
        System.out.println (); 
    } 
    pública  vacío outStr () { 
        StaticInner staticInner = nuevo nuevo StaticInner (); 
        staticInner.staticStr (); 
        cadena C = StaticInner.strInnerSt; 
        Cadena InnerC = Inner.InnerStaticelements; 
        System.out.println (STR); 
        Interior Interior = nuevo nuevo interior (); 
        System.out.println (inner.str); 
        
        inner.innerStr (); 
    } 
    / ** 
     * ejemplos de clases interna 
     * @author Administrador 
     * 1:. ejemplo de la clase de objeto interna es una clase interna, lo tratan como un objeto. No se puede usar la modificación estática 
     * 2: Hay una referencia a una instancia de la parte exterior clase interna de la clase 
     * 3: Ejemplos de miembros de la clase internos fuera de la clase se puede acceder a la referencia externa directamente el acceso con una clase externa .this tipo de miembro estático interno fuera de los miembros de la clase directamente. el acceso. 
     * 4; clase externo para crear un objeto de una clase interna, a continuación, los miembros de acceso dentro de la clase. Los miembros estáticos de la clase interna directamente. Miembros. 
     * 5: Estático ejemplo, miembro de la clase interna debe ser fianl 
     * / 
    público  de clase{Interior 
        cadena str = "interior" ;
         estática  final Cadena InnerStaticelements = "staticInner" ; 
        
        pública   vacío innerStr () { 
            InnerClassDemo.outstaticStr (); 
            System.out.println ( el presente .str); 
            . System.out.println (InnerClassDemo la presente .str ); 
            
        } 
    } 
    / ** 
     * 
     * @author Administrador 
     * más clase interna estática es clases internas estáticas 
     * clase interna estática no hace referencia a un montón abierto un espacio para la ejecución de la clase externa. 
     * Estático clases internas tienen acceso directo a los miembros fuera estático de la clase (clase no requiere miembros de la clase externos externos), el acceso a miembros de la clase no estáticos fuera de clase a través de nueva clase externa. 
     * Clases internas estáticas pueden crear miembros no estáticos.
     * miembros de forma de clase externo accede por no estático miembro de acceso a objetos nueva clase interna clase interna estática a través de un miembro estático interno clase interna estática 
     * / 
     estática  clase StaticInner {
         estática Cadena strInnerSt = "rewre" ; 
        Cadena SRT = " staticInner " ;
         pública  vacío staticStr () { 
            System.out.println ( nueva nueva InnerClassDemo () STR.); 
            System.out.println (cadena1); 
        } 
    } 
     / ** 
      * fijar pública privada las clases internas locales no pueden tener acceso como 
      * método de definición de clase local interno, el método también 
      * clase interna local puede no contener variables estáticas 
      * mediante el acceso a un miembro externo, el miembro estático de la forma de realización, el nuevo general es utilizar un exterior de manera externa. 
      * Clase externa no puede acceder a la clase miembro interno 
      * / 
     público   nula showLocalInner () {
           clase   LocalInner {
             Local Cadena = "localInner" ;
               públicos   vacíos localMethods () { 
                 System.out.println (STR); 
             } 
              
         } 
          System.out.println ( nueva nueva LocalInner () local.); 
          LocalMethods (); 
     } 
     / ** 
      * categoría general en el anonimato en el desarrollo de eventos, Android, desarrollo de interfaz gráfica de usuario, utilice solamente una vez. 
      de manera miembro * no estático puede tener acceso a un miembro externo fuera de la clase de la nueva clase de realización, el miembro de la clase estática externa. miembro estática externa de Acceso 
      * 
      * / 
     el Ejecutable RUN = nuevo el Ejecutable () { 
        
        @ Override 
        pública  vacío run () {
            // método generado-Auto TODO stub
            System.out.println (str); 
            
        } 
    }; 
    
}
Paquete InnerClass; 

Importación innerClass.InnerClassDemo.Inner; 

pública  clase TestInnerClass {
     pública  estática  vacío main (String [] args) { 
         InnerClassDemo.Inner interior = nueva nueva InnerClassDemo (). Nuevo nuevo interior (); // Otros tipos de clases de acceso ejemplo de realización de la interna 
         inner.innerStr (); 
    
         System.out.println (InnerClassDemo.StaticInner.strInnerSt); // .. miembro estático interno dentro de los miembros de la clase de acceso interno de la clase de una clase externa externa 
         
    } 
}

 

Supongo que te gusta

Origin www.cnblogs.com/shareAndStudy/p/12586861.html
Recomendado
Clasificación