加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

用反射实现简单的框架

发布时间:2020-12-15 01:57:45 所属栏目:Java 来源:网络整理
导读:用反射实现一个简单的java类: 不能改变该类的任何代码。可以创建任意类的对象,可以执行任意方法 可以通过只改变配置文件的方式去实现不同的类中的方法 import java.io.InputStream;import java.lang.reflect.Method;import java.util.Properties;/** * 框架

用反射实现一个简单的java类:

  • 不能改变该类的任何代码。可以创建任意类的对象,可以执行任意方法
    可以通过只改变配置文件的方式去实现不同的类中的方法
import java.io.InputStream;
import java.lang.reflect.Method;
import java.util.Properties;

/**
 * 框架类
 */
public class ReflectTest {
    public static void main(String[] args) throws  Exception{
        // 可以创建任意类的对象,可以指向任意方法
        /*
           前提: 不能改变该类的任何代码。可以创建任意类的对象,可以执行任意方法
         */
        /*Person p = new Person();
        p.eat();*/

        /*Student s = new Student();
        s.sleep();*/

        // 1.加载配置文件
        // 1.1创建Properties
        Properties pro = new Properties();
        // 1.2加载配置文件,转换为一个集合
        // 1.2.1获取class目录下的配置文件的方法
        ClassLoader classLoader = ReflectTest.class.getClassLoader();
        InputStream is = classLoader.getResourceAsStream("pro.properties");
        pro.load(is);

        // 2.获取配置文件中的数据
        String className = pro.getProperty("className");
        String methodName = pro.getProperty("methodName");

        // 3.加载该类进内存
        Class cls = Class.forName(className);
        // 4. 创建对象
        Object obj = cls.newInstance();
        // 5.获取方法对象
        Method method = cls.getMethod(methodName);
        // 6.执行方法
        method.invoke(obj);
    }
}

配置文件

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读