Este artículo describe un método de implementación simple para la reflexión de Java. Compártelo para su referencia. El método de implementación específico es el siguiente:
La copia del código es la siguiente: paquete reflejado;
import java.io.file;
import java.io.fileInputStream;
import java.io.filenotfoundException;
import java.io.fileOutputStream;
import java.io.ioException;
import java.util.properties;
fruta de interfaz {
Public Abstract void eat ();
}
clase Apple implementa fruta {
public void eat () {
System.out.println ("comer manzana");
}
}
clase naranja implementa fruta {
public void eat () {
System.out.println ("Eat Orange");
}
}
clase init {
Propiedades estáticas públicas getPro () lanza FileNotFoundException, IOException {
Propiedades pro = nuevas propiedades ();
Archivo f = nuevo archivo ("fruit.properties");
if (f.exists ()) {
System.out.println ("¡Hay un archivo de configuración!");
// Leer pares de valor clave desde el archivo de configuración
pro.load (nuevo FileInputStream (f));
}demás{
System.out.println ("¡Sin archivo de configuración!");
pro.setProperty ("Apple", "reflej.apple");
pro.setProperty ("naranja", "reflej.orange");
pro.store (nuevo FileOutputStream (f), "clase de frutas");
}
return pro;
}
}
Class Factory {
Public Static Fruit GetInstance (String ClassName) {
fruta f = nulo;
intentar {
// Obtener objeto de instancia de fruta a través del reflejo
f = (fruit) class.forname (classname) .newinstance ();
} Catch (InstanciationException e) {
E.PrintStackTrace ();
} Catch (ilegalAccessException e) {
E.PrintStackTrace ();
} catch (ClassNotFoundException e) {
E.PrintStackTrace ();
}
regresar f;
}
}
clase pública hola {
public static void main (string [] args) {
intentar {
Propiedades pro = init.getPro ();
fruta f = fábrica.getInstance (pro.getProperty ("manzana"));
if (f! = null) {
logro() ;
}
} catch (FileNotFoundException e) {
// bloque de captura generado automático
E.PrintStackTrace ();
} Catch (ioException e) {
// bloque de captura generado automático
E.PrintStackTrace ();
}
}
}
El resultado es:
¡Hay un archivo de configuración!
comer manzana
Espero que este artículo sea útil para la programación Java de todos.