博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java中的反射创建一个新实例,并将引用变量类型设置为新的实例类名称
阅读量:5878 次
发布时间:2019-06-19

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

import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;public class Foo {    public void printAMessage() {    System.out.println(toString()+":a message");    }    public void printAnotherMessage(String theString) {        System.out.println(toString()+":another message:" + theString);    }    public static void main(String[] args) {        Class c = null;        try {            c = Class.forName("Foo");            Method method1 = c.getDeclaredMethod("printAMessage", new Class[]{});            Method method2 = c.getDeclaredMethod("printAnotherMessage", new Class[]{String.class});            Object o = c.newInstance();            System.out.println("this is my instance:" + o.toString());            method1.invoke(o);            method2.invoke(o, "this is my message, from a config file, of course");        } catch (ClassNotFoundException e) {            e.printStackTrace();        } catch (NoSuchMethodException nsme){            nsme.printStackTrace();        } catch (IllegalAccessException iae) {            iae.printStackTrace();        } catch (InstantiationException ie) {            ie.printStackTrace();        } catch (InvocationTargetException ite) {            ite.printStackTrace();        }    }}

clipboard.png

转载地址:http://odcix.baihongyu.com/

你可能感兴趣的文章
so easy 前端实现多语言
查看>>
【追光者系列】HikariCP源码分析之ConcurrentBag&J.U.C SynchronousQueue、CopyOnWriteArrayList...
查看>>
kafka之旅总览
查看>>
【2018年最新】iOS面试题之第三方框架
查看>>
拼音工具类PinyinUtils
查看>>
Compose函数作用
查看>>
获取url中参数
查看>>
[译] 别再对 Angular 表单的 ControlValueAccessor 感到迷惑
查看>>
在navicat中如何新建连接数据库
查看>>
canvas系列教程05-柱状图项目3
查看>>
Kotlin 之旅4 面向对象
查看>>
Android NDK开发之旅11 JNI 数组的处理
查看>>
什么是机器学习
查看>>
Rxjs实践-各种排序算法排序过程的可视化展示
查看>>
css绘制几何图形
查看>>
键盘鼠标共享效率工具-Synergy
查看>>
iOS逆向之旅(进阶篇) — 工具(class-dump)
查看>>
CocoaPods安装指南
查看>>
认识并使用 Promise
查看>>
如何使用JavaScript UI控件(WijmoJS)构建Electron应用程序
查看>>