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
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
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!