Dieser Artikel beschreibt eine einfache Implementierungsmethode für die Java -Reflexion. Teilen Sie es für Ihre Referenz. Die spezifische Implementierungsmethode lautet wie folgt:
Die Codekopie lautet wie folgt: Paket reflektiert;
Import Java.io.file;
import Java.io.FileInputStream;
importieren java.io.filenotfoundException;
importieren java.io.fileoutputStream;
importieren java.io.ioException;
Import Java.util.Properties;
Schnittstellenfrucht {
öffentliche abstrakte void eat ();
}
Klasse Apfel implementiert Frucht {
public void eat () {
System.out.println ("Eat Apfel");
}
}
Klasse Orange implementiert Frucht {
public void eat () {
System.out.println ("orange essen");
}
}
Klasse init {
öffentliche statische Eigenschaften getPro () löscht FilenotFoundException, IoException {
Eigenschaften pro = neue Eigenschaften ();
Datei f = neue Datei ("fruit.properties");
if (f.Exists ()) {
System.out.println ("Es gibt eine Konfigurationsdatei!");
// Lesen Sie Schlüsselwertpaare aus der Konfigurationsdatei
pro.load (neuer FileInputStream (f));
}anders{
System.out.println ("Keine Konfigurationsdatei!");
pro.setProperty ("Apple", "reflect.apple");
pro.setProperty ("orange", "reflect.orange");
Pro.Store (neuer FileOutputStream (f), "Fruchtklasse");
}
return pro;
}
}
Klassenfabrik {
öffentliche statische Früchte GetInstance (String ClassName) {
Frucht F = Null;
versuchen {
// Fruchtinstanzobjekt durch Reflexion bekommen
f = (frucht) class.forname (className) .Newinstance ();
} catch (InstantiationException e) {
E. printstacktrace ();
} catch (illegalAccessException e) {
E. printstacktrace ();
} catch (classNotFoundException e) {
E. printstacktrace ();
}
Rückkehr f;
}
}
öffentliche Klasse Hallo {
public static void main (String [] args) {
versuchen {
Properties pro = init.getPro ();
frucht f = factory.getInstance (pro.getProperty ("Apple");
if (f! = null) {
f.eat ();
}
} catch (FilenotFoundException e) {
// todo automatisch generierter Fangblock
E. printstacktrace ();
} catch (ioException e) {
// todo automatisch generierter Fangblock
E. printstacktrace ();
}
}
}
Das Ergebnis ist:
Es gibt eine Konfigurationsdatei!
Apfel essen
Ich hoffe, dieser Artikel wird für Java -Programme aller hilfreich sein.