Extensión dinámica en Java

De ChuWiki
Extensión dinámica en java


  • El concepto
    • Uso de clases, en tiempo de ejecución, desconocidas en tiempo de compilación.


  • ¿Como cargarlas? (2 formas)
    • Class.forName( nombre completo de clase)
      • Uso fácil y cómodo
      • Usa el ClassLoader que corresponda según la regla de carga
    • CargadorDeClase.loadClass(nombre completo de clase)
      • Un cargador de clase se construye:
        • Heredando de ClassLoader
        • Redefiniendo métodos ( loadClass(…) entre otros )
      • Cada cargador tiene un espacio de nombres propio
        • Distintos espacios de nombres permiten clases distintas con igual nombre
      • El proceso de carga se puede hacer a medida
        • Se ignora la regla de carga
        • A través de red, con .class encriptados…


  • ¿Como usarlas? (2 formas)
    • Invocando métodos de una superclase/interfaz de la clase cargada
      • Ej.: Los navegadores ejecutan así los Applets
    • Explorando los métodos de la clase con reflexión
      • Ej.: Un uso muy común al trabajar con Beans


  • Regla de carga
    • Para cargar una clase, se usa el cargador de clase que se ha usado para cargar la clase que la referencia.