zoukankan      html  css  js  c++  java
  • java代码在计算机中经历的三个阶段,反射的原理

    package cn.itcast.junit.fanshe;
    
    import java.io.IOException;
    import java.io.InputStream;
    import java.lang.reflect.InvocationTargetException;
    import java.lang.reflect.Method;
    import java.util.Properties;
    
    public class DemoTest {
        public static void main(String[] args) throws IOException, ClassNotFoundException, IllegalAccessException, InstantiationException, NoSuchMethodException, InvocationTargetException {
            //创建任意的类对象,可以执行任一方法
            // 1.读取配置文件
            // 1.1创建Properties对象(这个对象是集合中唯一的和IO流相关的集合对象)
            Properties pro = new Properties();
            //1.2加载配置文件,要想找到配置文件,首先要的到类加载器对象
            ClassLoader classLoader = DemoTest.class.getClassLoader();
            //2.找到文件,读取到内存中
            InputStream is = classLoader.getResourceAsStream("pro.properties");
            //读取文件,获取文件中的配置信息
            pro.load(is);
            String name = pro.getProperty("ClassName");
            String method = pro.getProperty("Method");
            //3.加载到内存中
            Class obj = Class.forName(name);
            //4.创建对象
            Object o = obj.getDeclaredConstructor().newInstance();
            //5.获取方法
            Method method1 = obj.getMethod(method);
            //6.调用执行
            method1.invoke(o);
    
    
        }
    }
    反射案例,执行任意类

     

  • 相关阅读:
    Objective-C 关于锁的种类
    iOS多线程编程Part 1/3
    isa基础知识
    block学习笔记
    关于GCD使用
    iOS开发多线程篇—NSOperation基本操作
    iOS开发多线程篇—基础知识 NSOperation
    iOS开发多线程篇—单例模式(ARC)
    iOS开发多线程篇—GCD的常见用法
    OS开发多线程篇—线程间的通信
  • 原文地址:https://www.cnblogs.com/bozhengheng/p/12209234.html
Copyright © 2011-2022 走看看