Maison  >  Article  >  Java  >  Cas de réflexion Java (à ne pas manquer)

Cas de réflexion Java (à ne pas manquer)

藏色散人
藏色散人avant
2020-06-12 13:25:371910parcourir

Ce qui suit est un cas de réflexion Java présenté par la colonne du didacticiel Java learning J'espère qu'il sera utile aux amis dans le besoin !

Cas de réflexion Java (à ne pas manquer)

Cas de réflexion Java

Exigences

Écrire un "framework" qui ne peut modifier aucun code de cette classe En principe, cela peut nous aider à créer des objets de n'importe quel type et à exécuter n'importe quelle méthode

en utilisant le

fichier de configuration

réflexion

Étapes

Définir le nom complet de la classe de l'objet qui doit être créé et la méthode qui doit être exécutée dans le fichier de configuration

Charger et lire la configuration fichier dans le programme

Utiliser la technologie de réflexion pour charger les fichiers de classe en mémoire

Créer un objet

Exécuter la méthode

Fichier de configuration

Cas de réflexion Java (à ne pas manquer)

className=Student
methodName=sleep

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);
    }
}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer