最近在项目中遇到一个问题,要求程序在 runtime 阶段动态创建一个类的实例。很自然的便想到用 JAVA 类反射机制,下面是一个简单例子,来说明应用方法。本例中使用 Constructor 动态获取类的含参构造方法。
package com.zxn.example;
import java.lang.reflect.Constructor;
public class MainClass
{
public static void main(String[] args)
{
try
{
// find the class and the constructor
Class cls = Class.forName("com.zxn.example.MyClass");
Class[] paramDef = new Class[]{ String.class, String.class };
Constructor constructor = cls.getConstructor( paramDef );
// create a new instance by using the constructor
Object[] params = new Object[]{ "userName", "password" };
MyClass clsInstance = (MyClass)constructor.newInstance(params);
// call the test() method of the class
clsInstance.test();
}
catch (Exception e)
{
System.out.println(e.getMessage());
}
}
}
分享到:
相关推荐
一个java反射的例子,通过java反射机制,动态生成java实例,动态执行方法。例子中有大量注释,简单易懂。
3.2.6 反射机制的优缺点 可以实现动态创建对象和编译,体现出很大的灵活性(特别是在J2EE的开发中它的灵活性就表现的十分明显)。通过反射机制我们可以获得类的各种内容,进行了反编译。对于JAVA这种先编译再运行的...
自己编写的java调用实例,通过配置文件进行组件的装配,通过反射进行对象的创建,通过接口进行对象的调用。组件依赖的对象和对象的行为通过配置文件配置
在不知道类名的情况下如何动态的使用其构造方法来创建对象和不知道其方法名的时候如何动态地使用其方法。
文章目录Java ReflectionJava反射机制提供的功能Java反射相关的主要APIjava.lang.Class类Class类的核心要点Class类的重要API实例实例化Class类对象(四种方法)创建类对象并获取类的完整结构获取Class对象后创建类的...
在Java中我们可以通过反射来根据类名创建类实例,那么在Python我们怎么实现类似功能呢?其实在Python有一个builtin函数import,我们可以使用这个函数来在运行时动态加载一些模块
Java反射技术指的是在运行时动态地获取类的信息、调用对象的方法、操作类的属性等能力。通过反射,程序可以在运行时检查类、实例化对象、调用方法、获取和设置属性,甚至可以动态修改类的结构。 Java反射技术的核心...
实例3 在Eclipse中创建第一个Java程序 4 常见问题 javac不是内部或者外部命令 6 常见问题 找不到类文件 6 常见问题 语法错误 7 第2章 Java基础语法 9 实例4 变量和常量 9 实例5 基本数据类型转换 10 实例6 ...
实例078 利用反射重写toString()方法 119 第8章 字符串与包装类 121 实例079 将数字格式化为货币字符串 122 实例080 货币金额大写格式 123 实例081 String类格式化当前日期 125 实例082 字符串大小写转换 1
listConstructors.java 利用反射机制获取构造器列表 listFields.java 利用反射机制获取成员属性列表 listMethods.java 利用反射机制获取成员方法列表 loadClass.java 动态装载一个类 Shape.java 一个用于测试的...
JAVA反射与动态代理 40 基本用法 40 处理泛型 42 动态代理 42 使用案例 43 参考资料 44 JAVA I/O 45 流 45 缓冲区 47 字符与编码 48 通道 49 参考资料 52 JAVA安全 53 认证 53 权限控制 55 加密、解密与签名 57 安全...
杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 杨教授工作室,版权所有,盗版必究, 1/15 页 1 1.1 利用 Java 实现地球系动画完整实现实例(第 3 部分) 1.1.1 进一步扩展程序加载图像文件 1、GUI 中显示...
实例160 利用反射重写toString()方法 208 实例161 反射与动态代理 209 7.3 常见的未检查型异常 210 实例162 算数异常 210 实例163 数组存值异常 211 实例164 数组下标越界异常 212 实例165 空指针异常 213 7.4 常见...
全部代码出自电子工业出版社夏先波的《Java JDK实例宝典》一书,本书以J2SE 5.0为开发环境,选取Java应用的典型实例,循序渐进地介绍了Java语言的各种开发方法和技巧,实例代码注释详细规范,思路清晰。 第1章 ...
您将了解如何使用Java的反射机制来创建代理对象,以及如何将横切逻辑注入到目标方法中。我们还提供了实际示例,演示如何在Spring AOP中使用JDK动态代理。 CGLib动态代理: 我们将深入研究CGLib动态代理,它允许您在...
Java在JDK1.3后引入的动态代理机制,使我们可以在运行期动态的创建代理类。使用动态代理实现AOP需要有四个角色:被代理的类,被代理类的接口,织入器,和InvocationHandler,而织入器使用接口反射机制生成一个代理类...
反射:获取代码后,然后反射创建对象 动态代理:通过动态代理调用反射生成对象的方法 1.1动态配置实现原理 线程异步+httpClient 线程异步:实例化对象并初始化,循环异步HttpClient调用获取配置,同步到自定义集合