反射基础之类实例创建

利用反射创建Class类对应的类实例对象

  1. Class对象的newInstance()方法,调用类无参构造器创建对象
  2. 调用Class对象的getConstructor(参数.class),返回相应的类构造器,再次调用构造器的newInstance(参数),构建对象
public class ClassDome {
	public static void main(String[] args) {
		/*
		 * 使用Class对象实例化类的实例对象,调用的是类的无参构造器
		 */
		Date test = null;
		
		try {
			Class<Date> dateClass = Date.class;
			test = (Date)dateClass.newInstance();
		} catch (Exception e) {
			e.printStackTrace();
		}

		 System.out.println(test);
		/*
		 * 调用带参构造器实例化对象,先调用setConstructor(参数.class),返回构造器对象
		 * 调用构造器对象的newInstance方法,传入相应的参数,调用相应的构造器,创建实例
		 */
		Integer integer = null;
		try {
			Class<?>cl = Class.forName("java.lang.Integer");
			Constructor<?> num = cl.getConstructor(int.class);
			integer = (Integer) num.newInstance(5);
			System.out.println(integer.intValue());
		} catch (Exception e) {
			e.printStackTrace();
		}	
	}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值