美文网首页
反射机制(二)

反射机制(二)

作者: coolTigers | 来源:发表于2021-04-03 22:38 被阅读0次

本文例题同样出自B站UP主黎曼的猜想Java基础+进阶教程P466节
需求:写一个框架,不能改变该类的任何代码,帮助我们创建任意类的对象,并且执行其中任意方法
实现:
1、配置文件
2、反射、
步骤:
1、将需求创建的对象的全类名和需要执行的方法定义在配置文件中
2、在程序中家在读取配置文件
3、使用反射技术来家在类文件进内存
4、创建对象
5、执行方法
Person类

package com.company;

public class Person {
    public void eat(){
        System.out.println("eat...");
    }
}

pro.properties文件:

className=com.company.Person
methodName=eat

main函数:

package com.company;

import java.io.InputStream;
import java.lang.reflect.Method;
import java.util.Properties;

public class Main {

    public static void main(String[] args) throws Exception{
    // write your code here
 //       System.out.println("123abc");
        /*
        需求:写一个框架,不能改变该类的任何代码,帮助我们创建任意类的对象,并且执行其中任意方法
        实现:
        1、配置文件
        2、反射、
        步骤:
        1、将需求创建的对象的全类名和需要执行的方法定义在配置文件中
        2、在程序中家在读取配置文件
        3、使用反射技术来家在类文件进内存
        4、创建对象
        5、执行方法
        * */
        // 1、加载配置文件
        // 1.1 创建Properties对象
        Properties pro = new Properties();
        // 1.2 加载配置文件,转换为一个集合
        ClassLoader cl = Main.class.getClassLoader();
        InputStream is = cl.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);
    }
}

执行结果:


image.png

相关文章

  • 七、反射

    一、反射机制 : 将类的各个部分 组成一个新的对象(Class 对象) 就是反射机制 二、获取反射对象 通过 对象...

  • 反射机制(二)

    本文例题同样出自B站UP主黎曼的猜想Java基础+进阶教程P466节需求:写一个框架,不能改变该类的任何代码,帮助...

  • java反射机制

    java的反射机制 1 JAVA的反射机制是什么?反射机制能做什么?反射机制的优点与缺点2 认识 Class...

  • 反射之一

    总结内容源自一下文章粗浅看java反射机制反射机制应用实践谈谈java反射机制Java Reflection(反射...

  • 反射之二

    总结内容源自一下文章粗浅看java反射机制反射机制应用实践谈谈java反射机制Java Reflection(反射...

  • Java反射机制入门

    Java反射机制入门 一、什么是反射 JAVA反射机制(The JAVA reflection mechanism...

  • OC的反射机制

    目录 1 反射机制的概念 2 反射机制原理 首先还是按照惯例和大家解释下什么反射机制? 反射的概念是由Smith在...

  • 反射之三

    总结内容源自以下文章 粗浅看java反射机制 反射机制应用实践 谈谈java反射机制 Java Reflectio...

  • Java基础之反射

    Java基础之—反射(非常重要)Java中反射机制详解Java进阶之reflection(反射机制)——反射概念与...

  • JavaSE——反射机制(二)

    声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互...

网友评论

      本文标题:反射机制(二)

      本文链接:https://www.haomeiwen.com/subject/ouqkkltx.html