Java conversión del tipo de aprendizaje 14- Objeto (casting)

Los tipos de datos básicos de calidad:

  1. tipo automático de conversión: tipos de datos más pequeños se puede convertir automáticamente a los tipos de datos en mayúsculas, como a largo g = 20; doble d = 12.0f

  2. reparto: grandes tipos de datos pueden ser fundido (fundición) en tipos de datos pequeños, tales como float f = (float) 12,0; int a = (int) 1200L

Elenco de objetos Java llama modelado

  1 puede convertir automáticamente de subclase de tipo superclase

  2. A partir de la clase padre debe poner en práctica para convertir el tipo de una subclase por moldeo (molde)

  relación no herencia 3. referencia entre el tipo de conversión es ilegal

Por ejemplo:

. 1  Paquete Día 14;
 2  
. 3  público  clase Test {
 . 4      público  estáticas  void principales (String [] args) {
 . 5  //         int i = 10;
 . 6  //         largo L = I; // conversión de tipo automático, un pequeño giro hasta
 . 7          
. 8  / /         largo L = 10L;
 . 9  //         int I = (int) L; // fundido
 10          
. 11  //         Estudiante Estudiante nuevo nuevo S = ();
 12 es  //         la persona P = S; // de subclase de la superclase cambiador automático tipo
 13 es          
14  //        P = la persona nueva nuevo la Persona ();
 15  //         ; S = Student (Estudiante) P // de la clase padre con el tipo de mosto de conversión subclase de moldeo (molde) para lograr
 16          
17.  //         nuevo nuevo la Prueba Prueba T = ( );
 18 es  //         la Persona P1 = T; // ningún tipo de conversión de herencia es ilegal 
. 19          
20 es      }
 21 }

Otro ejemplo: String para cambiar automáticamente del Objeto

. 1  Paquete Día 14;
 2  
. 3  público  clase Test {
 . 4      público  estáticas  void principales (String [] args) {
 . 5          
. 6          // matriz de objetos es la más alta de todas las clases 
7.          
8.          Cadena S = "Hola" ;
 . 9          Object obj = S; / / puede realizarse desde subclase subclasificar conversiones de tipos automáticos 
10          System.out.println (obj);
 . 11      }
 12 es }

Imprimir los resultados: hola

Y fundido del objeto String

Paquete Día 14; 

pública  clase Test {
     públicas  estáticas  void main (String [] args) { 
        
        // clase Object es la más alta de toda la clase padre 
        
//         Cadena S = "Hola";
 //         objeto obj = S; // desde subclase de conversión de tipo matriz se puede realizar de forma automática
 //         System.out.println (obj); 
        
        Object obj = "Hola" ; 
        cadena S = (String) obj; // el tipo de conversión al mosto padre subclase de moldeo (obligatoria tipo de conversión) para lograr 
        System.out.println (S); 
    } 
}

Imprimir los resultados: hola

 

Objeto Tipo Ejemplo de conversión: crear método de ensayo en la clase de persona, la creación de la clase Estudiante método getSchool

Paquete Día 14; 

público  de clase a la Persona {
     público  vacío test () { 
        System.out.println ( "Este es el método de ensayo de la persona" ); 
    } 
}

y

Paquete Día 14; 

público  de clase Estudiante del extiende la Persona {
     público  vacío getSchool () { 
        System.out.println ( "Este es el método getSchool del estudiante" ); 
    } 
}

Entonces probado en la clase de prueba

Paquete Día 14; 

pública  clase Test {
     públicas  estáticas  void main (String [] args) { 
                
        la Prueba T = nueva nueva Test (); 
        
        t.method ( new new Persona ()); // método de entrada llama al método y objeto Person 
        
    } 
    
        pública  vacío método (la persona e) {
             SI (e la instanceof Estudiante) { // el análisis de correo no es un objeto Student 
                Estudiante S = (Estudiante) e; 
                s.getSchool (); // si, llamadas a métodos de getSchool Estudiante 
            } else {
                e.test (); // Por otro lado, el método de ensayo de llamar a la persona 
            }     
    } 
}

resultado de la impresión: Esta es la persona del método de ensayo.

Del mismo modo, también puede pasar el objeto de Estudiantes

Paquete Día 14; 

pública  clase Test {
     públicas  estáticas  void main (String [] args) { 

        la Prueba T = nueva nueva Test (); 
        
//         t.method (new new Persona ()); // método de las llamadas entrantes de la persona objeto y el método 
        t. método ( nueva nueva Estudiante ()); // método de entrada llama al objeto método y Estudiante 
    } 
    
        pública  vacío método (la Persona e) {
             SI (e la instanceof Estudiante) { // el análisis de correo no es un objeto Student 
                Estudiante S = (Estudiante) e ; 
                s.getSchool (); //Si es así, de getSchool Estudiante llamadas de método 
            } else { 
                e.test (); // Por otro lado, el método de ensayo de llamar a la persona 
            } 
    } 
}

Resultado de la impresión: Este es el método getSchool del estudiante

 

resumen:

  1. Los altos los tipos de datos básicos en un nivel más bajo de los tipos de datos básicos, llamado: elenco

  2. El nivel inferior de los tipos de datos básicos en un nivel más alto de tipos de datos básicos, llamado: conversión de tipo automático

  3. El padre (por ejemplo: la persona) a una subclase (por ejemplo: Student), llamado: transición hacia abajo (juzgado por el instanceof)

  4. subclase (por ejemplo: Estudiante) convertir el padre (como por ejemplo: persona), llamado: upcast

Supongo que te gusta

Origin www.cnblogs.com/su-peng/p/12449771.html
Recomendado
Clasificación