一、Class类的实例化方式
package reflect;
import java.util.Date;
public class ClassObjectThreeDome {
public static void main(String[] args) throws ClassNotFoundException {
Date date = new Date();
Class dateClass_1=date.getClass();
System.out.println(dateClass_1);
Class dateClass_2=Date.class;
System.out.println(dateClass_2);
Class dateCLass_3 = Class.forName("java.util.Date");
System.out.println(dateCLass_3);
}
}
二、反射实例化对象
package reflect;
import java.lang.reflect.InvocationTargetException;
public class NewInstanceDome {
public static void main(String[] args) throws IllegalAccessException, InstantiationException, NoSuchMethodException, InvocationTargetException {
Class instanceObj =PersonInstance.class;
Object objPerson1 =instanceObj.newInstance();
Object objPerson2 = instanceObj.getDeclaredConstructor().newInstance();
System.out.println(objPerson1);
System.out.println(objPerson2);
}
}
class PersonInstance {
public PersonInstance() {
System.out.println("我被构造了");
}
@Override
public String toString() {
return "我来了";
}
}
三、关键字总结
Class dateClass_1=date.getClass();
Class dateClass_2=Date.class;
Class dateCLass_3 = Class.forName("java.util.Date");
Object objPerson1 =instanceObj.newInstance();
Object objPerson2 = instanceObj.getDeclaredConstructor().newInstance();