¿El mecanismo de reflexión de Java?
El mecanismo de reflexión de Java es una función muy poderosa. La reflexión se puede ver en muchos proyectos grandes como Spring y Mybatis. A través del mecanismo de reflexión, podemos obtener la información de tipo del objeto durante el tiempo de ejecución. Con esta función, podemos implementar patrones de diseño como el modo de fábrica y el modo proxy y, al mismo tiempo, también podemos resolver problemas desconcertantes como el genérico de Java. borradura. El siguiente curso de Java utilizará el mecanismo de reflexión de Java desde la perspectiva de la aplicación práctica.
Conceptos básicos de reflexión
p.d.: este artículo requiere que los lectores tengan cierta comprensión de la API del mecanismo de reflexión. Si no ha estado expuesto a él antes, se recomienda que lo tome. un vistazo al QuickStart de la documentación oficial.
Antes de aplicar el mecanismo de reflexión, primero echemos un vistazo a cómo obtener la clase de reflexión correspondiente a un objeto. En Java, tenemos tres métodos para obtener la clase de reflexión de un objeto.
A través del método getClass
En Java, cada Objeto tiene un método getClass. A través del método getClass podemos obtener la clase de reflexión correspondiente a este objeto:
Strings="ziwenxie";
Classlt;?gt;c=s.getClass();
Mediante el método forName
También podemos llamar al Clase método estático forName:
Classlt;?gt;c=Class.forName("java.lang.String");
Usar .class
o También podemos usar .class directamente:
Classlt;?gt;c=String.class;
Obtener información de tipo
Lo mencionamos al principio del artículo Uno de los beneficios de la reflexión es que nos permite obtener la información de tipo de un objeto durante el tiempo de ejecución. Veamos más de cerca un ejemplo.
Primero creamos una nueva interfaz A bajo el paquete typeinfo.interfacea:
packagetypeinfo.interfacea
publicinterfaceA{voidf();}
;Luego creamos una nueva interfaz C en el paquete typeinfo.packageaccess. La interfaz C hereda de la interfaz A y también creamos varios métodos adicionales para realizar pruebas. Tenga en cuenta que los permisos de los siguientes métodos son diferentes.