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

本文共 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://hwdvo.baihongyu.com/

你可能感兴趣的文章
【前端基础进阶】JS-Object 功能详解
查看>>
Camera 基本工作原理
查看>>
TypeScript--数据类型
查看>>
PAT A1015
查看>>
React-生命周期杂记
查看>>
猫叔产品读记 | 全时关店潮、那些记得住的2019春节营销案例(2期)
查看>>
javascript实现继承的几种主要方法
查看>>
92. Reverse Linked List II
查看>>
应用后台省电秘籍——低功耗状态下应用如何正常运行?
查看>>
10分钟了解Pandas基础知识
查看>>
ant Table rowSelection勾选后更新数据无法清除缓存(无法取消勾选)
查看>>
1019 数字黑洞 (20 分)java
查看>>
Python2+Selenium入门01-环境准备
查看>>
Python 进阶之路 (九) 再立Flag, 社区最全的itertools深度解析(上)
查看>>
关于element级联选择器数据回显问题
查看>>
07.Android之多媒体问题
查看>>
js内置函数-日期
查看>>
Java-001-面向对象
查看>>
Laravel - Auth验证流程以及guard守卫和自定义驱动driver驱动,使用web-token验证
查看>>
JDK 是如何判断两个对象是否相同的?判断的流程是什么?
查看>>