反射基础之类实例创建

利用反射创建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();
		}	
	}

猜你喜欢

转载自blog.csdn.net/coco_love24/article/details/80698392