博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用反射来加载类
阅读量:7230 次
发布时间:2019-06-29

本文共 2281 字,大约阅读时间需要 7 分钟。

Properties properties=new Properties();        BufferedReader read=new BufferedReader(new FileReader("class.txt"));        properties.load(read);        String className = properties.getProperty("className");        String method = properties.getProperty("method");        System.out.println("-------获取类对象文件--------");        Class   c = Class.forName(className);        System.out.println(c);        System.out.println("-------获取构造方法--------");        Constructor con = c.getDeclaredConstructor();        System.out.println(con);        System.out.println("-------获取成员方法--------");        Method method5 = c.getMethod("method5", String.class);        System.out.println(method5);        System.out.println("-------实例化对象--------");        Object obj = con.newInstance();        System.out.println(obj);        System.out.println("-------执行方法--------");        Object invoke = method5.invoke(obj, "你好");        System.out.println("-------方法返回值--------");        System.out.println(invoke);输出:-------获取类对象文件--------class cn.User-------获取构造方法--------public cn.User()-------获取成员方法--------public java.lang.String cn.User.method5(java.lang.String)-------实例化对象--------Person [name=null, id=0, password=null]-------执行方法--------show5:你好-------方法返回值--------你好

class.txt

className=cn.UsermethodName=method5

User

public class User {    private String name;    int id;    public String password;    public User() {    }    private User(String name) {        this.name = name;    }    User(String name, int id) {        this.name = name;        this.id = id;    }    public User(String name, int id, String password) {        this.name = name;        this.id = id;        this.password = password;    }    public void method(String s) {        System.out.println("method ");    }    public void method2(String s) {        System.out.println("method2");    }    private void method3() {        System.out.println("method3");    }    public void method4() {        System.out.println("show4");    }    public String method5(String s) {        System.out.println("show5:"+s);        return s;    }    @Override    public String toString() {        return "Person [name=" + name + ", id=" + id + ", password=" + password                + "]";    }}

转载于:https://www.cnblogs.com/feiZhou/p/9344447.html

你可能感兴趣的文章
C# Json数据反序列化为Dictionary并根据关键字获取指定值1
查看>>
jS Ajax 上传文件报错"Uncaught TypeError: Illegal invocation"
查看>>
javascript、jquery获取网页的高度和宽度
查看>>
面向对象---代码练习(以车为案例)
查看>>
C#趋势图(highcharts插件)
查看>>
stm32的flash编程
查看>>
java多线程-AbstractQueuedSynchronizer
查看>>
苹果新的编程语言 Swift 语言进阶(十四)--扩展
查看>>
Md5加密方法
查看>>
转:zookeeper中Watcher和Notifications
查看>>
函数的参数
查看>>
Java编程规范
查看>>
【洛谷 P1070】道路游戏 (DP)
查看>>
走迷宫(回溯、深搜)判断能否到终点
查看>>
Zookeeper权限管理与Quota管理
查看>>
CORS 详解
查看>>
【原】iOS学习之苹果原生代码实现Autolayout和VFL语言
查看>>
ASP.NET MVC中使用FluentValidation验证实体
查看>>
usb mass storage device
查看>>
CentOs7
查看>>