package Reflects;
public class ReflectDemo{
public static void main(String[] args) throws ClassNotFoundException {
Class<Actor> ac1 = Actor.class;
System.out.println(ac1);
Class<Actor> ac2 = Actor.class;
System.out.println("=============");
System.out.println(ac1==ac2);
Actor actor3 = new Actor();
Class<? extends Actor> ac3 = actor3.getClass();
System.out.println(ac3==ac1);
System.out.println("=============");
Class<?> ac4 = Class.forName("Reflects.Actor");
System.out.println(ac4==ac1);
}
}
package Reflects;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
//通过反射
public class ReflectDemo{
public static void main(String[] args) throws ClassNotFoundException, NoSuchMethodException, InvocationTargetException, InstantiationException, IllegalAccessException {
Class<?> ac4 = Class.forName("Reflects.Actor");
Constructor<?> constructor = ac4.getConstructor(String.class,String.class,int.class);
Object o = constructor.newInstance("林青霞", "女", 18);
System.out.println(o);
//需要注意的是 当调用私有的构造方法时,需要进行暴力反射
o.setAccessible(true);
}
}