Das Folgende ist ein Java-Reflexionsfall, der in der Tutorial-Kolumne Java-Lernen vorgestellt wurde. Ich hoffe, dass er Freunden in Not hilfreich sein wird!
Java Reflection Case
Anforderungen
Schreiben Sie ein „Framework“, das keinen Code dieser Klasse ändern kann Unter der Prämisse kann es uns helfen, Objekte jeder Art zu erstellen und jede Methode
unter Verwendung von
Konfigurationsdatei
Reflection
Schritte
Definieren Sie den vollständigen Klassennamen des zu erstellenden Objekts und die auszuführende Methode in der KonfigurationsdateiLaden und lesen Sie die Konfiguration Datei im ProgrammReflektionstechnologie verwenden, um Klassendateien in den Speicher zu ladenObjekt erstellenMethode ausführenKonfigurationsdatei
className=Student methodName=sleep
import java.io.InputStream; import java.lang.reflect.Method; import java.util.Properties; /** * @author tanglei * @date 2020/6/11 3:10 下午 */ public class ReflectTest { public static void main(String[] args) throws Exception { Student s = new Student(); Properties pro = new Properties(); //获取配置文件的路径 ClassLoader classLoader = ReflectTest.class.getClassLoader(); InputStream is = classLoader.getResourceAsStream("pro.properties"); pro.load(is); String className = pro.getProperty("className"); String methodName = pro.getProperty("methodName"); //加载类进内存 Class cla = Class.forName(className); Object obj = cla.newInstance(); //加载方法进内存 Method method = cla.getMethod(methodName); method.invoke(obj); } }
Das obige ist der detaillierte Inhalt vonJava-Reflektionsfall (nicht verpassen). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!