Heim > Java > javaLernprogramm > Java-Reflektionsfall (nicht verpassen)

Java-Reflektionsfall (nicht verpassen)

藏色散人
Freigeben: 2020-06-12 13:25:37
nach vorne
1931 Leute haben es durchsucht

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-Reflektionsfall (nicht verpassen)

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 Konfigurationsdatei

Laden und lesen Sie die Konfiguration Datei im Programm

Reflektionstechnologie verwenden, um Klassendateien in den Speicher zu laden

Objekt erstellen

Methode ausführen

Konfigurationsdatei

Java-Reflektionsfall (nicht verpassen)

className=Student
methodName=sleep
Nach dem Login kopieren

Code

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);
    }
}
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:cnblogs.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage