您的位置 首页 技术

Java反射案例(不要错过)

下面由java学习教程栏目给大家介绍一个Java反射案例,希望对需要的朋友有所帮助! Java反射案例 需求 写一个"框架",不能改变该类的任何代码的前提下,可…

下面由java学习教程栏目给大家介绍一个Java反射案例,希望对需要的朋友有所帮助!

Java反射案例

需求

写一个"框架",不能改变该类的任何代码的前提下,可以帮我们创建任意类的对象,并且执行其中任意方法

使用

配置文件

反射

步骤

将需要创建的对象的全类名和需要执行的方法定义在配置文件中

在程序中加载读取配置文件

使用反射技术来加载类文件进内存

创建对象

执行方法

配置文件

16fc0cac996933f8eb1f83985d9972a.png

className=StudentmethodName=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);    }}

以上就是Java反射案例(不要错过)的详细内容,更多请关注24课堂在线网其它相关文章!

本文来自网络,不代表24小时课堂在线立场,转载请注明出处:http://www.24ketang.cn/75529.html

为您推荐

发表评论

电子邮件地址不会被公开。 必填项已用*标注

返回顶部