Introducción
Primero, permítanme presentar algunas explicaciones menos prácticas: el mecanismo de reflexión de Java es que en el estado en funcionamiento, para cualquier clase, puede conocer todas las propiedades y métodos de esta clase; Para cualquier objeto, puede llamar a cualquier método y propiedad del mismo; Esta función de obtener información dinámica y llamar dinámicamente métodos de objeto se denomina mecanismo de reflexión del lenguaje Java.
Uso simple
La reflexión es una forma muy común y fácil de usar en Java (pero debe saber que su eficiencia es relativamente baja, por lo que debe usarla con precaución), por supuesto, también se puede usar en Android según el lenguaje Java. Podemos usar la reflexión para obtener algunas clases que no son abiertas sino existenciales, a fin de llamar a algunos de sus métodos. Vamos a escribirlo brevemente a continuación, utilizando la reflexión de Java para obtener clases y la implementación de métodos que lo llaman.
// La ruta de la clase que debe llamarse reflejar string classname = "com.example.test.javareflect"; class reflej = null; try {// get java class reflej = class.forname (className); // Instanciar el objeto de clase correspondiente javAflect = reflej.newinStance (); if (null! = javareFlect) {// refleja el método stringToup () en la clase de clase StringToup es el nombre del método, y String.class es el tipo de parámetro Método StringToup = reflej.getDeclaredMethod ("StringToup", String.class); // Cancelar la verificación de legalidad de acceder a los métodos privados stringtoup.setAccessible (true); // Calcule el método StringToup (), el primer parámetro representa la clase correspondiente, y el segundo es el parámetro del método String Str = (String) StringToup.Invoke (javAfLect, "Java refleje test"); System.out.println ("resultado:"+str); }} Catch (Exception e) {E.PrintStackTrace ();} Echemos un vistazo a lo que hice en StringToup:
public String StringToup (String Str) {return str.ToUpperCase ();}De hecho, es solo una cadena para convertirlo en capital y luego devolverla. Ok, echemos un vistazo al resultado de la salida:
01-02 08: 09: 11.959 6150-6150/com.zxf.alpha I/System.out: Resultado: Java Reflect Test Test
Es simplemente perfecto.
Resumir
Ok, lo anterior se trata de este artículo. La reflexión tiene muchas aplicaciones en Android. Por ejemplo, cuando nuestro proyecto tiene múltiples módulos, puede hacerlo si desea llamar a un método del programa principal en el módulo, o puede usar la reflexión para llamar a algunos métodos públicos del sistema, pero la eficiencia no es muy alta. Espero que el contenido de este artículo sea útil para que todos aprendan o usen radiación en Java. Si tiene alguna pregunta, puede dejar un mensaje para comunicarse.