Cet article décrit une méthode de mise en œuvre simple pour la réflexion Java. Partagez-le pour votre référence. La méthode de mise en œuvre spécifique est la suivante:
La copie de code est la suivante: le package reflète;
Importer java.io.file;
import java.io.fileInputStream;
import java.io.filenotfoundException;
Importer java.io.fileOutputStream;
Importer java.io.ioException;
import java.util.properties;
Interface Fruit {
Abstract public void Eat ();
}
classe Apple implémente les fruits {
public void eat () {
System.out.println ("Eat Apple");
}
}
classe Orange implémente les fruits {
public void eat () {
System.out.println ("Eat Orange");
}
}
classe init {
Propriétés statiques publiques getPro () lève FileLoTFoundException, ioException {
Properties pro = nouvelles propriétés ();
Fichier f = nouveau fichier ("fruit.properties");
if (f.exists ()) {
System.out.println ("Il y a un fichier de configuration!");
// Lire les paires de valeurs de clé dans le fichier de configuration
pro.load (new FileInputStream (f));
}autre{
System.out.println ("Pas de fichier de configuration!");
pro.setProperty ("Apple", "reflev.apple");
pro.setProperty ("orange", "reflev.orange");
pro.store (nouveau fileoutputStream (f), "Classe de fruits");
}
return pro;
}
}
Classe Factory {
Fruit statique public GetInstance (String classname) {
fruit f = null;
essayer {
// Obtenez un objet d'instance de fruit à travers la réflexion
f = (fruit) class.forname (className) .newInstance ();
} catch (InstantiationException e) {
e.printStackTrace ();
} catch (illégalaccessException e) {
e.printStackTrace ();
} catch (classNotFoundException e) {
e.printStackTrace ();
}
retour f;
}
}
classe publique Bonjour {
public static void main (String [] args) {
essayer {
Propriétés pro = init.getPro ();
fruit f = factory.getInstance (pro.getProperty ("pomme"));
if (f! = null) {
exploit() ;
}
} catch (filenotfoundException e) {
// Bloc de capture généré automatiquement de TODO
e.printStackTrace ();
} catch (ioexception e) {
// Bloc de capture généré automatiquement de TODO
e.printStackTrace ();
}
}
}
Le résultat est:
Il y a un fichier de configuration!
manger de la pomme
J'espère que cet article sera utile à la programmation Java de tous.