首页 > 代码库 > Java反射总结

Java反射总结

一. 获取Class对象的3种方法:

1. Class.forName("");例如:Class.forName("java.lang.String");

2. Class.class;例如:String.class;这种方法需要有类

3. 对象.getClass();例如:String str = new String(); str.getClass;这种方法需要有对象

 

二. 反射生成对象方法:

1. 先创建Class对象,在通过Class对象的newInstance()方法直接生成对象即可。这种方法生成的对象只能是不带参数的构造方法;

Class<?> clz = String.class; Object obj = clz.newInstance();

2. 先创建Class对象,在获取对象的Constructor对象,在通过constructor对象的newInstance()方法;

Class<?> clz = Customer.class;

Constructor con = clz.getDeclaredConstructor(new Class[] {String.class, int.class});

Object obj = con.newInstance(new Object[]{"Hello", 10});

Java反射总结