¡Bueno! Realmente estoy aprendiendo algo nuevo en la entrevista. Una compañía acaba de hacer una prueba, pero me sorprende mucho por qué la posición del desarrollador web realmente tomó la pregunta del mecanismo de reflexión de Java, ¡pero es algo bueno para mí aprender y estudiar el mecanismo de reflexión!
Hablemos de cuál es el mecanismo de reflexión de Java. En el estado en ejecución, para cualquier clase, puede conocer todas las propiedades y métodos de esta clase; Para cualquier objeto, puede llamar a cualquier método de su información obtenida dinámicamente y la función de llamar dinámicamente los métodos del objeto se denomina mecanismo de reflexión del lenguaje Java. Funciones principales: juzga la clase a la que cualquier objeto pertenece en tiempo de ejecución; Construya los objetos de cualquier clase en tiempo de ejecución; juzgar las variables y métodos de los miembros de cualquier clase en tiempo de ejecución; Llame a los métodos de cualquier objeto en tiempo de ejecución; Generar proxy dinámico.
Luego deje otro ejemplo.
paquete com.beidou.test; import java.lang.reflect.method; public class Dynamic {public static void main (string [] args) lanza la excepción {clase c = dinámica.class; // get el método de objeto [] métodos = c.getDeclaredMethods (); // Obtener el método para (método: método) {System.out.PRINT (método.getName (//////pint the PakeMeter); Nombre clase [] parametertypes = método.getParametertypes (); for (int i = 0; i <parametertypes.length; i ++) {string naMeString = parametertypes [i] .getName (); System.out.print ("Parametertype:"+Namestring); // Imprima el tipo de parámetro Tipo} System.out.print ("ReturnType:"+Method.getTreturnType ()); System.out.println (); } Objeto obj = c.newinstance (); // Obtenga el objeto del método, suponiendo que el parámetro del método es un método int, string, se llama método getAge sage = c.getMethod ("getage", nueva clase [] {int.class, string.class}); // Obtener parámetros objeto objeto [] argumentos = nuevo objeto [] {nuevo entero (23), new String ("ABC")}; // Ejecutar el método String S = (String) sage.invoke (obj, argumentos); System.out.print (s); } public String String getAge (int Age, name de cadena) {nombre de retorno+":"+edad; }}El mecanismo de reflexión Java anterior: el método simple de llamar dinámicamente objetos es todo el contenido que comparto con usted. Espero que pueda darle una referencia y espero que pueda apoyar más a Wulin.com.