java反射机制调用可变长参数构造方法创建实例

一、知识基础

java加载类进内存均是通过jvm的类加载器完成。java类在内存的唯一标志,其实是通过类加载器+类全名(包名+类名)。不同的类加载器加载同一个类是不会出现冲突的。

java的反射机制,是jdk提供的一套api,通过使用类加载器将指定的类动态加载进内存的方法。

二、目标

使用java反射机制创建一个实例对象,该类的构造方法的参数列表是可变长度的。

三、代码示例

        try {
			AInterface ai = Class.forName("com.sun.test.myapp.AClass", true,
                     Thread.currentThread().getContextClassLoader())
					.asSubclass(AInterface.class)
					.getDeclaredConstructor(String[].class).newInstance(new Object[] {
                        new String[] {"b", "c"}
                    });
			System.out.println(ai.getClass().getSimpleName() + "::" + ai.getS0());
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (InstantiationException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IllegalAccessException e) {
			// T
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值